我的split()及其正则表达式出了什么问题?

Sco*_*n83 4 java regex string double split

我的部分应用程序遇到了这个问题.该String行变量包含12.2安德鲁和我想单独割裂开来,但它不工作,并带有一个NumberFormatException错误.你能帮帮我吗?

String line = "12.2 Andrew";
String[] data = line.split("(?<=\\d)(?=[a-zA-Z])");

System.out.println(Double.valueOf.(data[0]));
Run Code Online (Sandbox Code Playgroud)

Kep*_*pil 5

你看看你的data变量了吗?它没有任何分裂,因为条件永远不会匹配.您正在输入一个数字之前和一个字母之后的输入中的位置,并且由于它之间存在空间,因此不存在.

尝试在中间添加一个空间,应该修复它:

String[] data = line.split("(?<=\\d) (?=[a-zA-Z])");
Run Code Online (Sandbox Code Playgroud)