我正在尝试拆分一个包含两个数字的字符串,可能还有一个类似于:
的字母(2,3) (2,6) p (8,5) p (5,6)
我在尝试:
String inputTokens = input.split([(),\\s]);
但是在令牌数组中留下了一堆空字符串。如何阻止它们首先出现?
澄清:空字符串是指一个不包含任何内容的字符串,甚至不包含空格
答案 0 :(得分:2)
String inputTokens[] = input.split("[(),\\s]+");
这会将空格作为正则表达式的一部分读取,因此数组中不会有空条目。
答案 1 :(得分:1)
将“一次或多次”贪婪量词添加到角色类:
String[] inputTokens = input.split("[(),\\s]+");
这将导致一个前导空字符串,这在使用split()
方法并分离字符串的立即开始时是不可避免的,否则没有空字符串。