[英]how to replace some character b/w strings in c#?
如何在c#中替换一些字符b / w字符串?
假设
字符串是: 1-2-5-7-8-9-10-15
我使用替换功能
当我用2
替换5
它也取代了最后的15
到12
因为那里有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.