繁体   English   中英

删除字符串特定部分的数字(在括号内)

[英]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

见演示。

https://regex101.com/r/uE3cC4/4

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.

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