【发布时间】:2010-11-03 10:16:27
【问题描述】:
我必须将一些 C# 代码移植到 Java,但在转换字符串拆分命令时遇到了一些问题。
虽然实际的正则表达式仍然正确,但在 C# 中拆分时,正则表达式标记是结果字符串 [] 的一部分,但在 Java 中,正则表达式标记被删除。
保留拆分令牌的最简单方法是什么?
下面是一个 C# 代码示例,可以按照我想要的方式工作:
using System;
using System.Text.RegularExpressions;
class Program
{
static void Main()
{
String[] values = Regex.Split("5+10", @"([\+\-\*\(\)\^\\/])");
foreach (String value in values)
Console.WriteLine(value);
}
}
Produces:
5
+
10
【问题讨论】:
-
你能给我们举个例子来说明你的输入和你用来分割的正则表达式吗?
-
作为一般说明,我很确定在字符类(方括号,“[]”)中,您不需要那么多反斜杠。其他人可以确认吗?
-
我可能不需要反斜杠,但我没有写正则表达式,我只是在移植代码。