- - PR -
文字列を分割してそこに区切り文字を含めるには
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2009-04-01 18:21
こんにちは。.NET初心者です。
今、とあるプログラムを作っているのですが、文字列を分割して、配列に区切り文字を 含めたいのですが、どのようにやればよろしいのでしょうか。 ------------------------------------------- Dim text As String = "こんにちは。今日は、快晴です。" Dim separator As String() = New String(){"、", "。"} Dim result() As String result = text.Split(separator, StringSplitOptions.None) 'ここで区切り文字を挿入する処理を行う ' このようにしたい ' ' 結果 ( result ) ' こんにちは ' 。 ' 今日は ' 、 ' 快晴です ' 。 ' ------------------------------------------- このようにすればできると思うのですが、肝心の区切り文字をいれる方法が思いつきません (-_-;) どなたかご教授願います。 あと、関係ないことで申し訳ないのですが、私が書いたコードは「きれい」ですか? ※修正 textであるべき部分がStringとなっていたのを修正、あとその他 [ メッセージ編集済み 編集者: .NET初心者 編集日時 2009-04-01 22:07 ] | ||||||||
|
投稿日時: 2009-04-01 18:41
(今のままの実装で付け加えるならですが) 元の文字列をそれぞれ配列に区切られた文字数で左から順番に数えると区切られた対象となった文字に当たります。 単純にそれを文字結合してやれば良いですね。 Split メソッドを使った時点で選択肢は狭められます。 たとえば IndexOf + Substring で自分で取り出した方が処理的には二度手間にならずに済みます。
(同じことを実現させるコードという意味ではなく、見た目がきれいかどうかで考えるなら 「普通」 といった印象です。 このソースコードと同等のことであれば誰が書いても同じようなものになるのではないでしょうか。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2009-04-01 19:02
じゃんぬねっとさん、ありがとうございます。
関係ない質問にも答えてくれてとても感謝しております。 じゃんぬねっとさんが提示してくださった方法で試してみたいと思います。 本当にありがとうございました。 | ||||||||
|
投稿日時: 2009-04-01 21:27
提示されているコードはコンパイル通りますか?
下記の様にしないと通らないと思いますが。
仰っている事をやりたいなら下記の感じでどうでしょうか。
| ||||||||
|
投稿日時: 2009-04-01 22:03
Kingさん、返答ありがとうございます。
textと書くのを忘れていましたm(_ _)m ご指摘ありがとうございます。 正規表現を使った方法もあるのですね。 試してみます。 ありがとうございました。 | ||||||||
|
投稿日時: 2009-04-03 21:05
この結果にしたいだけなら単純に置換でも良いのではとか思います。
ちょっとひねくれた方法ならこんなのもあり?(VB2008限定) ただし、区切り対象文字が1文字の場合のみ
| ||||||||
|
投稿日時: 2009-04-03 21:36
Algolさん、返答ありがとうございます。
いろいろ試してみたいと思います (^^ゞ |
1