首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >C# Regex任意数字孪生

C# Regex任意数字孪生
EN

Stack Overflow用户
提问于 2015-02-12 23:19:30
回答 3查看 47关注 0票数 1

我想在这里删除",2“,我是怎么做到的?

这条路:CreatePickup(任意号)(任意号,2 )

代码语言:javascript
运行
复制
CreatePickup0(1240, 2, 1693.0444, -1959.2195, 8.2500, -1);

CreatePickup1(5243, 2, 1693.0444, -1959.2195, 8.2500, -1);
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-02-12 23:53:17

如果必须使用正则表达式,则可以使用Regex.Replace()方法。

最简单的方法是使用capturing group来保留想要保留的部分。

代码语言:javascript
运行
复制
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);"

如果这始终是字符串的格式,则可以按以下方式修改它:

代码语言:javascript
运行
复制
String r = Regex.Replace(s, "^([^,]+),[^,]+", "$1");
票数 2
EN

Stack Overflow用户

发布于 2015-02-12 23:40:45

对于regex和C#,您可以使用:

代码语言:javascript
运行
复制
string newstring = null;
    try {
        newstring = Regex.Replace(oldstring, @"(?!CreatePickup\d+\(\d+), 2,(?=.*?;)", ",");
    } catch (ArgumentException ex) {
        // Syntax error in the regular expression
    }
票数 0
EN

Stack Overflow用户

发布于 2015-02-12 23:41:24

如果你想用看后面的东西,你可以用

代码语言:javascript
运行
复制
(?<=CreatePickup\d\(\d+,\s*)\d

我已经测试了你包括的两个例子的正则表达式。

或者,您可以从字符串的开头使用

代码语言:javascript
运行
复制
(CreatePickup\d\(\d+,\s*)\d

这只会移除2

代码语言:javascript
运行
复制
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)“的结果;

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28489748

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档