我有一段需要转换成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#?
发布于 2018-08-14 09:12:23
通过阅读replaceAll
的文档,我们可以看到它是这样做的:
用给定的替换字符串替换与模式匹配的输入序列的每个子序列。
这与Regex.Replace
在.NET中的作用相同:
,将与正则表达式模式匹配的所有字符串替换为指定的替换字符串。
因此,您可以将该行转换为::
result = MISSING_SPACE.Replace(result, "$1 $2");
replaceAll
中的单词all
有点像是在做一些与Replace
不同的事情,但我认为这只是为了将它与replaceFirst
和replaceLast
区分开来。
https://stackoverflow.com/questions/51832235
复制相似问题