C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: string.splitを使って改行で文字列分解できますか?


(過去ログ 56 を表示中)

[トピック内 5 記事 (1 - 5 表示)]  << 0 >>

■31439 / inTopicNo.1)  string.splitを使って改行で文字列分解できますか?
  
□投稿者/ tamaboyo (26回)-(2009/01/22(Thu) 09:40:41)

分類:[C#] 

tamaboyoです。

Environment.NewLineを使って単語をつなげた文字列を分解する際に、
string.Split()を使って分解しようとしたところ、char[]とstringで型が違うとエラーが出ました。

Environment.NewLineを使って繋げた文字列なので、Environment.NewLineで判定したいのですが、
Split()で使うのはムリなのでしょうか?
サンプルを探したら、ReplaceでEnvironment.NewLineを一度違う文字に変換して、
それをSplitで判定する、という方法は見つけたのですが、
これだと、改行としてではなく設定されている文字が引っ掛かってしまう可能性があるので、できれば避けたいと思っています。

後から単語単位で扱うため一気に分割できると楽なのでSplitを使いたいのですが、
Splitで改行の分割はムリなのでしょうか?

環境はVS2005です。
宜しくお願いします。
引用返信 編集キー/
■31441 / inTopicNo.2)  Re[1]: string.splitを使って改行で文字列分解できますか?
□投稿者/ よねKEN (255回)-(2009/01/22(Thu) 09:47:42)
> 環境はVS2005です。

.NET Framework2.0ですので、下記のメソッドが使えると思います。

String.Split (String[], StringSplitOptions)
引用返信 編集キー/
■31443 / inTopicNo.3)  Re[1]: string.splitを使って改行で文字列分解できますか?
□投稿者/ επιστημη (1563回)-(2009/01/22(Thu) 09:57:35)
επιστημη さんの Web サイト
No31439 (tamaboyo さん) に返信
> tamaboyoです。
> 
> Environment.NewLineを使って単語をつなげた文字列を分解する際に、
> string.Split()を使って分解しようとしたところ、char[]とstringで型が違うとエラーが出ました。

問題ありませんょ?

using System;

class Program {
  public static void Main() {
    string nl = Environment.NewLine;
    string input = "these" + nl + "words" + nl + "are" + nl + 
                   "concatenated" + nl + "with" + nl + "(NewLine)";
    string[] result = input.Split(new string[] { nl }, StringSplitOptions.None);
    foreach ( string word in result ) {
      Console.WriteLine("[{0}]", word);
    }
  }
}

引用返信 編集キー/
■31457 / inTopicNo.4)  Re[2]: string.splitを使って改行で文字列分解できますか?
□投稿者/ tamaboyo (27回)-(2009/01/22(Thu) 11:46:56)
No31441 (よねKEN さん) に返信

よねKEN さん、ありがとうございます。

>>環境はVS2005です。
>
> .NET Framework2.0ですので、下記のメソッドが使えると思います。
>
> String.Split (String[], StringSplitOptions)

早速使ってみたところ、出来ました。
ありがとうございました。

解決済み
引用返信 編集キー/
■31458 / inTopicNo.5)  Re[2]: string.splitを使って改行で文字列分解できますか?
□投稿者/ tamaboyo (28回)-(2009/01/22(Thu) 11:52:11)
No31443 (επιστημη さん) に返信

επιστημη さん、ありがとうございます。

> ■No31439 (tamaboyo さん) に返信
>>tamaboyoです。
>>
>>Environment.NewLineを使って単語をつなげた文字列を分解する際に、
>>string.Split()を使って分解しようとしたところ、char[]とstringで型が違うとエラーが出ました。
>
> 問題ありませんょ?
>
> using System;
>
> class Program {
> public static void Main() {
> string nl = Environment.NewLine;
> string input = "these" + nl + "words" + nl + "are" + nl +
> "concatenated" + nl + "with" + nl + "(NewLine)";
> string[] result = input.Split(new string[] { nl }, StringSplitOptions.None);
> foreach ( string word in result ) {
> Console.WriteLine("[{0}]", word);
> }
> }
> }
>

Split(Environment.NewLine)
としていたので、型違いエラーが出てました。
Split(new string[] { Environment.NewLine }, StringSplitOptions.None)
としたらあっさりコンパイルが通り、文字列も分解できました。

ありがとうございました。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -