我正在尝试在第i个位置拆分String数组。使用4个或更多空格的正则表达式。
我在这里和其他网站上发现了很多信息,因此我想出了
String[] parts = titlesAuthor[i].split(" ");
因此,可以在标题和作者名称之间进行拆分,该名称包含4个或更多空格或不存在。
示例:
titleAuthor[0] = Investigational drugs for autonomic dysfunction in Parkinson's disease Perez-Lloret S
运行上面的拆分后,零件[0]将显示为空,零件[1]具有完整的字符串。
请帮忙!
代码:
for (int i = 0; i < nodes.getLength(); i++) { Element element = (Element) nodes.item(i); NodeList title = element.getElementsByTagName("TEXT"); line = (Element) title.item(0); titlesAuthor[i] = getCharacterDataFromElement(line); System.out.println(titlesAuthor[i]); parts = titlesAuthor[i].split(" "); System.out.println(parts[0]); System.out.println(parts[1]); }
答案 0 :(得分:1)
答案 1 :(得分:0)
这将跳过这个空间.. 拆分(&#34; \ s +&#34;)
答案 2 :(得分:0)
要捕获4个或更多空格,您需要用+:
指示它String[] parts = titlesAuthor[i].split(" +");
或:
String[] parts = titlesAuthor[i].split(" {4,}");
更新:看起来你的xml看起来并不像你想象的那样。在您提供的代码中添加:
System.out.println(i + ":" + titlesAuthor[i] + ";");
你会在beginnng看到一些空格或新行。
答案 3 :(得分:0)
在您的示例中,代码在找到四个连续的空格时会分裂。您在上面拆分的字符串之间有十个连续的空格:
"disease Perez".
因此,空间之间存在分歧。假装“#”是一个空格:
Investigational drugs for autonomic dysfunction in Parkinson's disease|SPLIT|null|SPLIT|##Perez-Lloret S
您的拆分将导致:
{[Investigational drugs for autonomic dysfunction in Parkinson's disease],[null], [##Perez-Lloret S]}
因为您的代码找到了四个空格的两个实例。零件[1]是空的,因为两个分裂之间没有任何东西。
希望这有帮助!