如何使用正则表达式将字符串拆分为字符?

Nat*_*ate 2 java regex

我需要学习RegEx,但现在没有时间去解决这个问题. - 所以我试图利用社区的能力.

我有一个字符串,其中包含可接受的1个字符的注释变量列表.

String comments = "#;";
Run Code Online (Sandbox Code Playgroud)

而且我要:

String[] parsedComments = {"#", ";"};
Run Code Online (Sandbox Code Playgroud)

什么RegEx字符串将解决我的问题?

String[] parsedComments = comments.split(/*  "???"  */);
Run Code Online (Sandbox Code Playgroud)

sou*_*rge 12

为什么要使用正则表达式?例如,尝试使用String.toCharArray().

  • 你刚刚跟我说话. (4认同)

cha*_*aos 5

这应该做,以及其他奇怪的黑客:

String[] parsedComments = comments.split("(?!^)");
Run Code Online (Sandbox Code Playgroud)

然而,这对于正则表达式来说几乎不是一项工作.也可以迭代遍历字符串并从每个1个字符的子字符串中构建一个数组.


jjn*_*guy 5

首先,为什么需要将它们分成数组?字符串具有几乎完全相同的方法来获取索引处的字符,并且具有几乎相同的性能。

但是,要回答您的问题:

string.split("");
Run Code Online (Sandbox Code Playgroud)

这将在结果数组的第一个位置为您提供一个额外的空字符串。