Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 正则表达式替换和划分_C#_Regex_String_Replace - Fatal编程技术网

C# 正则表达式替换和划分

C# 正则表达式替换和划分,c#,regex,string,replace,C#,Regex,String,Replace,我只需要从字符串中提取数字,到目前为止我还没有遇到任何问题 我使用了以下代码: string test = "N.11 Test 11"; string example = Regex.Replace(test, @"[^\d]", ""); 输出:“1111” 所以。。如何区分这两个值​​有符号吗 例如:“11:11” (抱歉英语不好)使用此正则表达式:[^\d]*(\d+).*(\d+)将两个数字分组,然后在\1:\2中替换使用此正则表达式:[^\d]*(\d+)(\d+将两个数字分组,然

我只需要从字符串中提取数字,到目前为止我还没有遇到任何问题

我使用了以下代码:

string test = "N.11 Test 11";
string example = Regex.Replace(test, @"[^\d]", "");
输出:“1111”

所以。。如何区分这两个值​​有符号吗

例如:“11:11”


(抱歉英语不好)

使用此正则表达式:
[^\d]*(\d+).*(\d+)
将两个数字分组,然后在
\1:\2
中替换使用此正则表达式:
[^\d]*(\d+)(\d+
将两个数字分组,然后在
\1:\2
中替换不使用替换的简单方法如下所示

string test = "N.11 Test 11";
var result = string.Join(":", Regex.Matches(test, @"\d+").OfType<Match>());

不使用replace的简单方法是这样的

string test = "N.11 Test 11";
var result = string.Join(":", Regex.Matches(test, @"\d+").OfType<Match>());

只需匹配所有数字序列并使用
连接结果数组。只需匹配所有数字序列并使用
连接结果数组。完美。非常感谢。谢谢
Try this:    

String test = "N.11 Test 11";

String example = test.replaceFirst( "\\s", ":" );
example = example.replaceAll( "[^:\\d]", "" );
System.out.println("The answer is " + example);