查找和替换字符串的一部分

Posted

技术标签:

【中文标题】查找和替换字符串的一部分【英文标题】:Find and replace a part of a sring 【发布时间】:2021-11-15 07:30:36 【问题描述】:

我想在c#中使用正则表达式突出显示两端带有“*”的字符串部分

我尝试过的:

replaced = Regex.Replace(text, @"\b123\b", "*123*");
replaced = Regex.Replace(text, @"\b234\b", "*234*");
replaced = Regex.Replace(text, @"\b335\b", "*335*");

例子:

突出显示:123、234、335

输入:dsadf335aa 输出:dsadf*335*aa

我的问题是我有一个要查找的字符串列表,但我不知道如何搜索所有这些。

编辑:

我尝试过 D Stanley 的建议,但有问题。 第二个s被理解为字符串...

sintax

【问题讨论】:

你的意思是每个字符串s*s* 替换\bs\bforeach(string s in list) text = Regex.Replace(text, $@"\bs\b", "*s*"); 怎么样? 另外,我认为您在这里不需要正则表达式 - text.Replace() 应该足够好了。 text = Regex.Replace(text, @"\d+", "*$0*"); 【参考方案1】:
foreach (string s in list) 
 
    replaced = string.Format("*0*", s);
    newtexe = Regex.Replace(text, s, replaced);

    if (text != newtexe) 
        break;  

解决了 :D 感谢帮助 :))

【讨论】:

以上是关于查找和替换字符串的一部分的主要内容,如果未能解决你的问题,请参考以下文章

仅查找替换完全匹配的字符串

wps怎么用替换功能

查找并替换 textarea 中的所有匹配字符串

C++编程,查找字符串子串并替换。

UE中如何使用正则替换行中部分字符串

C++string字符串查找替换比较提取插入和删除