[英]Remove numbers in specific part of string (within parentheses)
我有一个字符串Test123(45) ,我想删除括号内的数字。 我该怎么做呢?
到目前为止,我尝试了以下内容:
string str = "Test123(45)";
string result = Regex.Replace(str, "(\\d)", string.Empty);
然而,当它应该是Test123()时,这导致结果Test () 。
tis替换所有括号,用括号括起来的数字
string str = "Test123(45)";
string result = Regex.Replace(str, @"\(\d+\)", "()");
\d+(?=[^(]*\))
尝试this.Use与verbatinum
模式@
.The先行将确保数量有)
无(
由it.Replace之前empty string
。
见演示。
string str = "Test123(45)";
string result = Regex.Replace(str, @"\(\d+\)", "()");
你也可以这样试试:
string str = "Test123(45)";
string[] delimiters ={@"("};;
string[] split = str.Split(delimiters, StringSplitOptions.None);
var b=split[0]+"()";
删除实际上在括号内的数字但不是括号并在其中保留其他任何不是C# Regex.Replace
的数字Regex.Replace
表示将所有括号子串与\\([^()]+\\)
匹配 ,然后删除所有数字在MatchEvaluator
。
这是一个C#示例程序 :
var str = "Test123(45) and More (5 numbers inside parentheses 123)";
var result = Regex.Replace(str, @"\([^()]+\)", m => Regex.Replace(m.Value, @"\d+", string.Empty));
// => Test123() and More ( numbers inside parentheses )
要删除(
和)
符号中包含的数字, ASh的\\(\\d+\\)
解决方案将运行良好: \\(
匹配文字(
, \\d+
匹配1+位, \\)
匹配文字)
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.