我需要学习正则表达式,但现在没有时间去弄清楚。-- 因此,我试图利用社区的能力。
我有一个包含可接受的1个字符注释变量列表的字符串。
String comments = "#;";
And I want:
String[] parsedComments = {"#", ";"};
什么正则表达式字符串可以解决我的问题?
String[] parsedComments = comments.split(/* "???" */);
这应该可以解决问题,除了其他奇怪的技巧:
String[] parsedComments = comments.split("(?!^)");
这不是正则表达式的工作,最好的方法是遍历字符串并将每个1字符子串构建成一个数组。
split
的参数来获得。 - Vinay Sajip首先,为什么需要将它们拆分成数组?字符串几乎有完全相同的方法可以获取索引处的字符,并具有几乎相同的性能。
但是,回答你的问题:
string.split("");
我尝试将这个作为评论添加到“Daniel”和“Lazarus”的下面,但是我还没有足够的声望...除非我误解了您的意思,您是说要使用索引访问原始字符串。在Java中无法这样做。
String foo = "abcde";
String bee = foo[1]; // not valid
在我的原始答案中,我误解了您的意思。您不需要使用正则表达式(Regex)。正则表达式用于查找模式,而您只是想要分割字符串。您可以使用空字符串,但这也会返回一个空字符串以及字符。
只需通过索引访问即可。
只需使用 comments[0],comments[1]... comments[n] 访问字符串索引即可。
char []
结果而不是一个String[]
结果。 - Vinay Sajipchar[]
类型来运行。 - soulmerge