首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >将Java模式replaceAll转换为c#

将Java模式replaceAll转换为c#
EN

Stack Overflow用户
提问于 2018-08-14 08:34:41
回答 1查看 497关注 0票数 2

我有一段需要转换成C#的Java代码

private static final Pattern MISSING_PRODUCT_AT_START = Pattern.compile("^\\(( |;|null|compatible|windows|android|linux).*", Pattern.CASE_INSENSITIVE);

result = MISSING_SPACE.matcher(result).replaceAll("$1 $2");

可以使用正则表达式将第一部分转换为:

 private static readonly Regex MISSING_SPACE = new Regex("(/[0-9]+\\.[0-9]+)([A-Z][a-z][a-z][a-z]+ )", RegexOptions.IgnoreCase);

为了解释上下文,我将一个开源库从Java转换为.NET

如何将.replaceAll("$1 $2");转换为C#?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-14 09:12:23

通过阅读replaceAll的文档,我们可以看到它是这样做的:

用给定的替换字符串替换与模式匹配的输入序列的每个子序列。

这与Regex.Replace在.NET中的作用相同:

,将与正则表达式模式匹配的所有字符串替换为指定的替换字符串。

因此,您可以将该行转换为::

result = MISSING_SPACE.Replace(result, "$1 $2");

replaceAll中的单词all有点像是在做一些与Replace不同的事情,但我认为这只是为了将它与replaceFirstreplaceLast区分开来。

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

https://stackoverflow.com/questions/51832235

复制
相关文章

相似问题

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