[#41251] mswin32(もしくはActiveScriptRuby)でRuby/Tkを使うには? — "conundrum /" <conundrum@...>

conundrumです。

12 messages 2005/10/11

[#41284] 条件に合う見出しの内容だけを抽出 — isawa_kz <isawa_kz@...>

井沢と申します。

32 messages 2005/10/14
[#41299] Re: 条件に合う見出しの内容だけを抽出 — Kousuke Honda <kousuke4@...> 2005/10/14

本田です。はじめましてです。

[#41300] Re: 条件に合う見出しの内容だけを抽出 — isawa_kz <isawa_kz@...> 2005/10/14

井沢です

[#41301] Re: 条件に合う見出しの内容だけを抽出 — しん <dezawa@...> 2005/10/14

出沢です

[#41340] Date へのメソッド追加要望 — MATSUNO Tokuhiro <tokuhirom@...>

tokuhirom@Inamode6:897 です。

19 messages 2005/10/22

[#41371] 北九州市の rubyist へ — Akimichi Tatsukawa <akimichi_tatsukawa@...>

こんにちは。立川察理と申します。

13 messages 2005/10/25

[#41400] 全角スペースを区切りとした文字列分解で — 中村 英夫 <cxn03651@...>

中村と申します。

10 messages 2005/10/27

[#41416] Rubyでこういうの作れますか?(中央銀行編) — Omoti <omoti@...24.net>

Rubyで中央銀行システムを作りたいんですが、できますか?

14 messages 2005/10/29
[#41418] Re: Ruby でこういうの作れますか?(中央銀行編) — Sako Hiroshi <sakoh@...2.so-net.ne.jp> 2005/10/29

[#41420] Re: Ruby でこういうの作れますか?(中央銀行編) — Omoti <omoti@...24.net> 2005/10/29

そんな大規模じゃないですよ!

[#41425] "Programming Ruby 2nd edtion"の邦訳について — "higashi ryota" <ryochin_hgs@...>

始めまして。既出だったらすいません、過去ログで検索したのですが見つけられませ

10 messages 2005/10/30
[#41428] Re: "Programming Ruby 2nd edtion"の邦訳について — Yukihiro Matsumoto <matz@...> 2005/10/30

まつもと ゆきひろです

[ruby-list:41406] Re: 全角スペースを区切りとした文字列分解で

From: rubikitch <rubikitch@...>
Date: 2005-10-27 07:44:40 UTC
List: ruby-list #41406
From: 中村 英夫 <cxn03651@msj.biglobe.ne.jp>
Subject: [ruby-list:41405] Re: 全角スペースを区切りとした文字列分解で
Date: Thu, 27 Oct 2005 16:18:55 +0900

るびきちです。

>   ・区切り文字は[ \t\r\n\f ]  # 最後は全角スペースです
>     ->ですので、るびきちさん方式はそのままでは流用できそ
>      うにありません。
>   ・全角及び半角の()<>[]「」{}【】内の上記区切り文
>    字は区切りとしない
>   ・()等のパターンは0以上の任意回出現する

別解として1文字ずつ見ていく方法も考えていました。
参考になれば幸いです。

def zsplit(s)
  p_open = "[(\(]"    # 開きカッコ
  p_close = "[)\)]"   # 閉じカッコ
  delimiter = "[ ]"   # 全角スペース

  ret = []
  chunk = ""
  paren_level = 0
  s.split(//).each {|ch|   # 1文字ずつ見ていく
    case ch
    when /#{p_open}/
      chunk << ch
      paren_level += 1
    when /#{p_close}/
      chunk << ch
      paren_level -= 1
    when /#{delimiter}/
      if paren_level > 0
        chunk << ch
      else
        ret << chunk
        chunk =  ""
      end
    else
      chunk << ch
    end
  }
  ret << chunk
end

p zsplit("あい(う え)お かき")

るびきち☆
http://www.rubyist.net/~rubikitch/

In This Thread