我想在这里删除",2“,我是怎么做到的?
这条路:CreatePickup(任意号)(任意号,2 )
CreatePickup0(1240, 2, 1693.0444, -1959.2195, 8.2500, -1);
CreatePickup1(5243, 2, 1693.0444, -1959.2195, 8.2500, -1);
发布于 2015-02-12 23:53:17
如果必须使用正则表达式,则可以使用Regex.Replace()
方法。
最简单的方法是使用capturing group来保留想要保留的部分。
String s = "CreatePickup0(1240, 2, 1693.0444, -1959.2195, 8.2500, -1);";
String r = Regex.Replace(s, @"(CreatePickup\d+\(\d+), *\d+", "$1");
Console.WriteLine(r); //=> "CreatePickup0(1240, 1693.0444, -1959.2195, 8.2500, -1);"
如果这始终是字符串的格式,则可以按以下方式修改它:
String r = Regex.Replace(s, "^([^,]+),[^,]+", "$1");
发布于 2015-02-12 23:40:45
对于regex和C#,您可以使用:
string newstring = null;
try {
newstring = Regex.Replace(oldstring, @"(?!CreatePickup\d+\(\d+), 2,(?=.*?;)", ",");
} catch (ArgumentException ex) {
// Syntax error in the regular expression
}
发布于 2015-02-12 23:41:24
如果你想用看后面的东西,你可以用
(?<=CreatePickup\d\(\d+,\s*)\d
我已经测试了你包括的两个例子的正则表达式。
或者,您可以从字符串的开头使用
(CreatePickup\d\(\d+,\s*)\d
这只会移除2
Regex.Replace("CreatePickup0(1240, 2, 1693.0444, -1959.2195, 8.2500, -1);", @"(CreatePickup\d\(\d+,\s*)\d", "$1");
"CreatePickup0(1240,1693.0444,-1959.2195,8.2500,-1)“的结果;
https://stackoverflow.com/questions/28489748
复制相似问题