c# - 如何使用 string.contains 找到分隔/隔离的子字符串?
问题描述
我正在尝试从列表中的字符串中解析并识别一些值。
我string.Contains
用来识别我正在寻找的值,但即使该值被其他文本包围,我也会得到点击。如果值是孤立的,我如何确保我只受到打击?
示例解析:
寻找价值 ="302"
string sale =
"199708. (30), italiano, delim fabricata modella, serialNumber302. tnr F18529302E.";
var result = sale.ToLower().Contains(”302”));
在这个例子中,我会得到 and 的命中"serialNumber302"
,"F18529302E"
这在上下文中是不正确的,因为我只想要一个命中,如果它发现“302”是孤立的,比如“dontfind302 shouldfind 302”。
关于如何做到这一点的任何想法?
解决方案
如果您尝试正则表达式,您可以使用以下方法定义单词边界\b
:
string sale =
"199708. (30), italiano, delim fabricata modella, serialNumber302. tnr F18529302E.";
bool result = Regex.IsMatch(sale, @"\b302\b"); // false
sale = "A string with 302 isolated";
result = Regex.IsMatch(sale, @"\b302\b"); // true
因此,只有在字符串的开头、字符串的结尾或被非单词字符(即不是 az AZ 0-9 或 _)包围时,才会找到 302
推荐阅读
- c++ - 此 C++ 示例代码是否包含数据竞赛?
- excel - 如何将公式应用于唯一具有 vba 值的单元格?
- java - Properties() 设置未按顺序保存
- json - 在 Laravel 8 中发送“Ajax 请求”时没有返回值
- java - Intellij @__(@Lazy) 找不到符号
- android - 为什么 Android Studio 的 palette 中没有出现搜索栏?
- python - 加载 JSON 文件错误:预期值:第 1 行第 1 列(字符 0)
- python - seaborn中barplot的语法无效
- reactjs - 我如何为 useEffect 和 dispatch 中的未覆盖行编写测试?
- python-3.x - 如何在 windows 的 msys2 中的 python3 中使用 pip?