2015-12-09 112 views
-5

我正在尋找一種檢測字符串中是否存在某個單詞的方法。 例如,如果我有字符串「嗨,這是我」我想確保「嗨」存在; 我試了一下,到目前爲止:檢查字符串中的單詞

bool containsWord() { 
    string str = "hi, this is me"; 
    return str.Contains ("hi"); 
} 

工作不正常:這個問題是我需要確保這個詞本身存在,而不是一個單詞的一部分。 隨着代碼,因爲它是這樣做的:因爲「喜」仍然是「T 的」一個子

bool containsWord() { 
    string str = "this is me"; 
    return str.Contains ("hi"); 
} 

仍然會返回true。 我該如何避免這種情況?

+2

['Regex'](https://msdn.microsoft.com/en -us /庫/ system.text.regularexpressions.regex%28V = vs.110%29.aspx)。 –

回答

3

如何使用String.Split

// Add other punctuation if need 
var array = str.Split(" ,;.".ToCharArray(), StringSplitOptions.RemoveEmptyEntries) ; 
bool containsWord = array.Any(s => s.Equals("hi", StringComparison.InvariantCultureIgnoreCase)); 
+0

謝謝,這工作完美:) – Lextredis

2

使用一些正規表達式 - Regex.IsMatch(@"\bhi\b");
不要忘記添加using System.Text.RegularExpressions;

相關問題