【发布时间】:2021-10-08 13:59:55
【问题描述】:
我需要检查一个句子是否包含字符串数组中的任何单词,但在检查时应该忽略逗号等特殊字符。但结果应该有原句。
比如我有一句话"Tesla car price is $ 250,000."
在我的单词数组中我有wrdList = new string[5]{ "250000", "Apple", "40.00"};
我已经写了下面这行代码,但它没有返回结果,因为 250,000 和 250000 不匹配。
List<string> res = row.ItemArray.Where(itmArr => wrdList.Any(wrd => itmArr.ToString().ToLower().Contains(wrd.ToString()))).OfType<string>().ToList();
还有一件重要的事情是,如果它与字符串数组匹配,我需要得到原始句子。
例如,结果应该是"Tesla car price is $ 250,000."
不像"Tesla car price is $ 250000."
【问题讨论】:
-
你不能简单地拆分字符串和
TryParse它并检查数字吗? -
.ToString().ToLower()->.ToString().ToLower().Replace(",", "")? -
如果类型已经是
string,我怀疑你是否需要所有这些ToStrings -
如果您的单词数组可以包含字符,那么您似乎也想在
wrd上执行ToLower()。 -
特殊字符不能是“任何”。这意味着任何字符都是特殊字符。你的意思是标点符号吗?