- PR -

\マーク文字の存在チェックについて

投稿者投稿内容
かるあ
ぬし
会議室デビュー日: 2003/11/16
投稿数: 1190
お住まい・勤務地: センガワ→ムサシノ
投稿日時: 2006-02-17 17:55
引用:

未記入さんの書き込み (2006-02-17 17:47) より:
どうもありがとうございます。

if (Regex.Match("123", "[¥¥¥¥]").Success ){・・・}



ん?
これ意味違うんじゃ・・・
一郎
ぬし
会議室デビュー日: 2002/10/11
投稿数: 1081
投稿日時: 2006-02-17 18:56
引用:

未記入さんの書き込み (2006-02-17 17:47) より:
if (Regex.Match("123", "¥¥¥¥").Value=="¥¥¥¥" ){・・・}
では、何故かエラーになったので


ん〜。
エラーになるかなぁ。
どんなエラーになりましたか。

あと、含まれるかどうかなら、ValueじゃなくてSuccessっていうプロパティの方がそれっぽいんじゃないですか。
未記入
ベテラン
会議室デビュー日: 2005/07/14
投稿数: 66
投稿日時: 2006-02-17 19:03
>一郎さん
すみません。エラーは間違いで、実際"123"の部分に¥マークが入っても
うまく判定されず、処理が通過してしまいました。
Jubei
ぬし
会議室デビュー日: 2002/03/02
投稿数: 830
お住まい・勤務地: 関西
投稿日時: 2006-02-17 19:12
諸農です。

引用:

では、何故かエラーになったので



正規表現にこだわらないのなら、こんな方法もありますね。

コード:

string pat1 = @"¥¥"; ←変になるので全角で書いています。
string pat2 = "¥¥"; ←変になるので全角で書いています。
string target = @"ABC¥DEF"; ←変になるので全角で書いています。
private void button1_Click(object sender, System.EventArgs e)
{
if (Regex.IsMatch(target,pat1))
MessageBox.Show("Success");
else
MessageBox.Show("Failure");
}

private void button2_Click(object sender, System.EventArgs e)
{
if (target.IndexOfAny(pat2.ToCharArray()) > -1)
MessageBox.Show("Success");
else
MessageBox.Show("Failure");
}



¥記号がたくさん並ぶので修正しました。

_________________
諸農和岳
Powered by Borland Delphi/C++Builder & Microsoft VS.NET

[ メッセージ編集済み 編集者: Jubei 編集日時 2006-02-17 19:13 ]
なちゃ
ぬし
会議室デビュー日: 2003/06/11
投稿数: 872
投稿日時: 2006-02-18 02:01
引用:

if (Regex.Match("123", "¥¥¥¥").Value=="¥¥¥¥" ){・・・}
では、何故かエラーになったので


最初の「¥¥¥¥」は、正規表現としては「¥¥」で、「¥」にマッチさせるためのもの
これにマッチした文字列は「¥」のはずなので、C#表記では「¥¥」になるはずですね?

スキルアップ/キャリアアップ(JOB@IT)