我有一个简单的方法将字符串拆分为数组。它将它拆分到有非字母字符的地方。我现在使用的线路如下:
String[] words = str.split("[^a-zA-Z]");
所以这应该分割只有字母字符的字符串。但问题是,当它分裂时,它对某些人有效,但不是全部。例如:
String str = "!!day--yaz!!";
String[] words = str.split("[^a-zA-Z]");
String result = "";
for (int i = 0; i < words.length; i++) {
result += words[i] + "1 ";
}
return result;
我在其中添加了 1 以查看拆分发生的位置,因为我在 null 值上遇到错误。无论如何,当我运行此代码时,我会得到以下输出:
1 1 day1 1 yaz1
为什么它在前两个 !'s 和其中一个 -'s 之后分裂,而不是在最后两个 !'s 之后分裂?为什么它甚至在那里分裂?对此的任何帮助都会很棒!