在Java中使用正则表达式拆分字符串

我是regex的新手,我想做的是在特定条件下拆分String,但我不知道该怎么做。

这是样品/条件

String str = sum1=x+(5+a)

Array[0] = sum1

Array[1] = =

Array[2] = x

Array[3] = +

Array[4] = (

Array[5] = 5

Array[6] = +

Array[7] = a

Array[8] = )

我希望字符串被拆分+-*\()=

这可能吗?

回答:

如果 需要使用正则表达式,则可能应该使用环顾四周机制,因为您不想 此字符 之前之后 进行拆分。

String str = "sum1=x+(5+a)";

String[] array=str.replaceAll("\\s+","")//remove all spaces

.split("(?<=[+\\-*\\\\()=/])|(?=[+\\-*\\\\()=/])");

for (int i=0; i<array.length; i++)

System.out.println("Array["+i+"] = "+array[i]);

输出:

Array[0] = sum1

Array[1] = =

Array[2] = x

Array[3] = +

Array[4] = (

Array[5] = 5

Array[6] = +

Array[7] = a

Array[8] = )

以上是 在Java中使用正则表达式拆分字符串 的全部内容, 来源链接: utcz.com/qa/423961.html

回到顶部