string1 的哪个子串与 string2 匹配
有两个字符串。
String str1="Order Number Order Time Trade Number";
String str2="Order Tm";
然后我想知道 str2 与str1 中的哪个子字符串。
string regex = Regex.Escape(str2.Replace(@"\ ", @"\s*");
bool isColumnNameMatched = Regex.IsMatch(str1, regex, RegexOptions.IgnoreCase);
我使用正则表达式,因为“Order Tm”也将匹配“Order Time”。它给出匹配是否发生的布尔值。
像 str2="Order Tm"
一样,它应该像 str1,Order Time 中那样返回,是发生匹配的子字符串。
There are two strings.
String str1="Order Number Order Time Trade Number";
String str2="Order Tm";
Then I want to know that str2 matches with which substring in the str1.
string regex = Regex.Escape(str2.Replace(@"\ ", @"\s*");
bool isColumnNameMatched = Regex.IsMatch(str1, regex, RegexOptions.IgnoreCase);
I am using regex because "Order Tm" will also matches "Order Time".It gives bool value that matches occurred or not.
Like str2="Order Tm"
then it should return like in the str1,Order Time is the substring where matches is occurred.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
你的问题很不清楚,你的代码无法编译。
有一些问题:
"\ "
替换为@"\s*"
- 但您应该仅替换" "
而无需\
Regex.Escape()
。它将使您的\
加倍并导致另一个不起作用的正则表达式。例如,您的\s*
将变为\\s*
"Order|Tm"
示例:
Your question is very unclear and your code does not compile.
There are some problems:
"\ "
with@"\s*"
- but you should replace just" "
without\
Regex.Escape()
this way. It will double your\
and result in another regex which is not working. For instance your\s*
will become\\s*
"Order|Tm"
Example: