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

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

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

Re[4]: textBoxで空行を見分ける方法は?


(過去ログ 106 を表示中)

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

■63077 / inTopicNo.1)  textBoxで空行を見分ける方法は?
  
□投稿者/ 初心者P (1回)-(2011/11/18(Fri) 19:02:43)

分類:[.NET 全般] 

Visual C# 2010 を使用しています。

textBoxの中の行で、1行目の空白と2行目の空白の後にある文字を分けた処理をしたいのですが、
空白をどのように判定したらよいか分かりません。

プログラムを始めたばかりで、周りに聞ける人も居ないので、ご回答をお願いします。


1行目---------
2行目---------
3行目---------
4行目---------

6行目---------
7行目---------
8行目---------

10行目---------
11行目---------
12行目---------

空行と空行の間の文字に別々の処理をしたいと思っています。
例えば、
6〜8行目は textBox2 へ表示
10〜12行目は textBox3 へ表示

空行を判定したいので、行数が増えても大丈夫なようにしたいです。


if(textBox.Lines[空行] != "")
{
処理;
}

↑これで判定されませんでした。
nullにもならないようなので、自分にはちょっと難しいです(><)

ご指導よろしくお願いします。
引用返信 編集キー/
■63079 / inTopicNo.2)  Re[1]: textBoxで空行を見分ける方法は?
□投稿者/ ズッカ (6回)-(2011/11/18(Fri) 19:29:23)
方法は色々と考えられますが、Splitを使い、連続した改行の位置でtextBox.Textの内容を分割する方法はどうでしょう。
この場合、Splitで使用する区切り文字は、連続した改行文字なので"\r\n\r\n"かな?

http://jeanne.wankuma.com/tips/csharp/string/split.html
引用返信 編集キー/
■63080 / inTopicNo.3)  Re[1]: textBoxで空行を見分ける方法は?
□投稿者/ くだん (13回)-(2011/11/18(Fri) 21:02:36)
No63077 (初心者P さん) に返信
> if(textBox.Lines[空行] != "")
> {
> 処理;
> }
>
> ↑これで判定されませんでした。
判定されるのでは? NotEqual なので
[空行]の行数を指定した時は、処理;
は飛ばされますけど。
引用返信 編集キー/
■63091 / inTopicNo.4)  Re[2]: textBoxで空行を見分ける方法は?
□投稿者/ 初心者P (2回)-(2011/11/19(Sat) 16:45:42)
2011/11/19(Sat) 16:52:02 編集(投稿者)
2011/11/19(Sat) 16:52:00 編集(投稿者)

No63080 (くだん さん) に返信
> ■No63077 (初心者P さん) に返信
>>if(textBox.Lines[空行] != "")
>>{
>> 処理;
>>}
>>
>>↑これで判定されませんでした。
> 判定されるのでは? NotEqual なので
> [空行]の行数を指定した時は、処理;
> は飛ばされますけど。

ご回答ありがとうございます。

NotEqual とはどのような状態なのでしょう?(^^;)
空行の時だけ処理をしたいのですが、飛ばされないようにするにはどのように記述すれば良いでしょうか?
引用返信 編集キー/
■63092 / inTopicNo.5)  Re[3]: textBoxで空行を見分ける方法は?
□投稿者/ 初心者P (3回)-(2011/11/19(Sat) 16:51:31)
>□投稿者/ ズッカさんに返信
> 方法は色々と考えられますが、Splitを使い、連続した改行の位置でtextBox.Textの内容を分割する方法はどうでしょう。
>この場合、Splitで使用する区切り文字は、連続した改行文字なので"\r\n\r\n"かな?

ご回答ありがとうございます。
参考のURLをみて
string[] stArrayData = stCsvData.Split("\r\n\r\n");
としてみたのですが、
・string.Split(params char[])' に最も適しているオーバーロード メソッドには無効な引数がいくつか含まれています。
・引数1:'string'から'char[]'に変換できません
と出てしまいます。

恐らく、textBox内の文字列を「stCsvData」へ入れて"\r\n\r\n"で判定する感じだと思うのですが合っていますでしょうか?(^^;)

引用返信 編集キー/
■63097 / inTopicNo.6)  Re[4]: textBoxで空行を見分ける方法は?
□投稿者/ NF64 (29回)-(2011/11/20(Sun) 04:45:07)
> NotEqual とはどのような状態なのでしょう?(^^;)
「左辺と右辺が等しくない」という意味です。

textBox.Lines[空行] != ""

この条件ではtextBox.Lines[空行]が長さ0の文字列ではない場合にtrueとなります。
空行の時だけ処理をしたいのであれば、textBox.Lines[空行]が空行である時にtrueとなる条件にすれば良いでしょう。

C# 関係演算子
http://ufcpp.net/study/csharp/st_operator.html#relation



>string[] stArrayData = stCsvData.Split("\r\n\r\n");
>としてみたのですが、
>・string.Split(params char[])' に最も適しているオーバーロード メソッドには無効な引数がいくつか含まれています。
>・引数1:'string'から'char[]'に変換できません
>と出てしまいます。

stringのみを受け付けるSplitのオーバーロードはありませんから、Split(String[], StringSplitOptions)などを利用する事になるでしょう。

string[] stArrayData = stCsvData.Split(new string[] {"\r\n\r\n"}, StringSplitOptions.RemoveEmptyEntries);

これでstArrayDataの各要素は空行で区切られた文字列になるでしょう。

引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -