繁体   English   中英

如何在c#中替换一些字符b / w字符串?

[英]how to replace some character b/w strings in c#?

如何在c#中替换一些字符b / w字符串?

假设

字符串是: 1-2-5-7-8-9-10-15

我使用替换功能

当我用2替换5

它也取代了最后的1512因为那里有5

那我怎样才能得到正确的输出?

你可以用这个:

yourString.Split("-").Select(s => Regex.Replace(s, "^5$", "2")).Aggregate((a,b) => a + "-" + b);

与此处的大多数其他答案相反,当要替换的字符串位于输入字符串的开头或结尾时,这也处理了这种情况。

new Regex(@"\b5\b").Replace("1-2-5-7-8-9-10-15", "2");

\\b匹配单词边界。 这意味着'-5-'将匹配,但'-15-'将不匹配。

它还将处理匹配位于字符串边缘并且两侧都没有连字符的情况,例如“5”和“-5”。

你需要用-2-替换-5-

尝试这个

yourString = yourString.Replace("-5-","-2-");

您可以使用正则表达式替换并替换为正则表达式

[^\\d]*5[^\\d]*匹配5旁边没有任何数字

你有分隔符吗?

例如,如果你真的有1-2-5的字符串链接...你可以用-2替换'-5'。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM