Regex替换和分割

本文关键字:分割 替换 Regex | 更新日期: 2023-09-27 18:27:57

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

我用了这个代码:

string test = "N.11 Test 11";
string example = Regex.Replace(test, @"[^'d]", "");

输出:"1111"。

所以。。如何分离这两个值​​带有符号?

示例:"11:11"。

(抱歉英语不好)

Regex替换和分割

不使用替换的简单方法如下。

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

请注意,最好使用Regex变量,而不是使用像Regex.Matches这样的静态方法。若你们想一次又一次地使用相同的模式,那个么每次都创建新的regex是不优雅的。所以这更好。

public static Regex digits = new Regex(@"'d+");
//...
var result = string.Join(":", digits.Matches(test).OfType<Match>());

使用此正则表达式:[^'d]*('d+).*?('d+)将两个数字分组,然后在'1:'2 中替换

Try this:    
String test = "N.11 Test 11";
String example = test.replaceFirst( "''s", ":" );
example = example.replaceAll( "[^:''d]", "" );
System.out.println("The answer is " + example);