我有需要转换为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 replaceAll
到底是什么意思,我不是Java专家
只是为了解释上下文,我正在将开放源代码库从Java转换为.NET
如何将.replaceAll("$1 $2");
转换为C#?
答案 0 :(得分:1)
通过阅读replaceAll
的文档,我们可以看到它可以做到:
将输入模式中与模式匹配的每个子序列替换为给定的替换字符串。
与Regex.Replace
在.NET中的作用相同:
在指定的输入字符串中,将所有与正则表达式模式匹配的字符串替换为指定的替换字符串。
因此您可以将行转换为::
result = MISSING_SPACE.Replace(result, "$1 $2");
all
中的单词replaceAll
暗示它与Replace
有所不同,但是我认为这只是将其与replaceFirst
和{{1} }。