私はあなたがここで言うことをしようとしていると思う、althouまだあいまいさがあります。あなたの文字列中の1つの単語(文章)があなたの配列に存在するかどうか確認しようとしていますか?
@Amyは正しいですが、これはRegexではまったく関係ありません。
私は、コードのこのセグメントは、あなたが(簡単にC#2に変換することができます)Javaでやりたいだろうと思う:
のJava:
x = x.ToLower();
string[] words = x.Split("\\s+");
foreach(string word in words){
foreach(string element in arr){
if(element.Equals(word)){
return true;
}
}
}
return false;
あなたはまた、要素を格納するための設定を使用することができますあなたのアレイでは、より効率的なルックアップを行うことができます。
のJava:
x = x.ToLower();
string[] words = x.Split("\\s+");
HashSet<string> set = new HashSet<string>(arr);
for(string word : words){
if(set.contains(word)){
return true;
}
}
return false;
編集:私はC#で私の解決策を書き直し
(12/22、11:05)、@Amyと@JohnyLによってリマインダのおかげ。著者は専用の文字列の最初の単語に一致するように望んでいるので、この編集されたコードは動作するはずです:)
C#の:あなたは正規表現を設定することができます
static bool contains(){
x = x.ToLower();
string[] words = x.Split(" ");
var set = new HashSet<string>(arr);
if(set.Contains(words[0])){
return true;
}
return false;
}
あなたが尋ねていることは不明です...言い換えればさらに... 'if(...)'はここで何をしなければならないのですか? arrとは何ですか? xは文字列ですか?正規表現?何 ? –
正規表現がこの質問と何をしているのかわかりません。 – Amy
正規表現がどこに来るのかはまだ分かりませんが、 'StartsWith'(' Any'と組み合わせて)のように聞こえます。 –