java split()方法

我有一个字符串’123’(是的,它是我程序中的一个字符串)。 当我使用这种方法时,有人可以解释一下:

String[] str1Array = str2.split(" "); 

为什么我得到str1Array[0]='123'而不是str1Array[0]=1

str2不包含任何空格,因此splitstr2的全部内容复制到str1Array的第一个索引。

你必须这样做:

  String str2 = "1 2 3"; String[] str1Array = str2.split(" "); 

或者,要查找str2中的每个字符,您可以执行以下操作:

 for (char ch : str2.toCharArray()){ System.out.println(ch); } 

您也可以将它分配给循环中的数组。

 str2.split("") ; 

试试这个:分割字符串中的每个字符。 输出:

 [, 1, 2, 3] 

但它会返回一个空的第一个值。

 str2.split("(?!^)"); 

输出:

 [1, 2, 3] 

传递给split()的正则表达式应该在字符串中匹配,以便在字符串中找到匹配项的位置拆分字符串。 在这里你传递的是“’,这在”123“中找不到,因此没有发生分裂。

因为String没有空格。 如果你想要单个字符,请尝试char[] characters = str2.toCharArray()

简单…你试图按空格分割字符串,在你的字符串“123”中,没有空格

这是因为split()方法根据作为参数给出的字符逐字地拆分字符串。

我们每次找到拆分字符时都会删除拆分字符并形成一个新字符串。

 String[] strs = "123".split(" "); 

字符串"123"没有字符" " (空格),因此不能拆分。 所以返回只是数组中的一个项目 – { "123" }

要执行“拆分”,您必须使用分隔符,在这种情况下,在每个数字之间插入“,”

  public static void main(String[] args) { String[] list = "123456".replaceAll("(\\d)", ",$1").substring(1) .split(","); for (String string : list) { System.out.println(string); } } 

尝试这个:

String str =“123”; String res = str.split(“”);

将返回以下结果:

1,2,3