我需要学习RegEx,但现在没有时间解决这个问题。 - 所以我试图利用社区的能力。
我有一个包含可接受的1个字符注释变量列表的字符串。
String comments = "#;";
我想要:
String[] parsedComments = {"#", ";"};
什么RegEx字符串将解决我的问题?
String[] parsedComments = comments.split(/* "???" */);
答案 0 :(得分:12)
为什么要使用正则表达式?例如,尝试String.toCharArray()。
答案 1 :(得分:5)
这应该做到这一点,以及其他奇怪的黑客:
String[] parsedComments = comments.split("(?!^)");
但是,这对于正则表达式来说并不是一项工作。也可以迭代遍历字符串并从每个1个字符的子字符串中构建一个数组。
答案 2 :(得分:4)
首先,为什么需要将它们分成数组? String几乎有完全相同的方法可用于获取索引的字符和几乎相同的性能。
但是,要回答你的问题:
string.split("");
这将在结果数组的第一个pos处为您提供一个额外的空字符串。
答案 3 :(得分:2)
我在原来的答案中误解了你。你不想要正则表达式。正则表达式用于查找模式,您只想分割。您可以使用空字符串,但这将返回一个空字符串以及字符。
只需通过索引访问。
答案 4 :(得分:2)
我试图将此作为对“Daniel”和“Lazarus”的评论添加,但我还没有足够的声望点......除非我误解你,你要说使用索引访问原始字符串。你不能用Java做到这一点。
String foo = "abcde";
String bee = foo[1]; // not valid
如果我误解了你,我道歉。如果没有,我想为后人澄清这一点。 : - )
答案 5 :(得分:1)
只需使用评论[0],评论[1] ...评论[ n ]
访问字符串索引