如何获得字符串中的第5个单词? Java的

时间:2014-04-27 00:51:42

标签: java string

假设我有一个文本文件的字符串,我想将该字符串的第124个字保存在另一个字符串中,我该怎么做?我认为每个" word"作为空格之间的一串文本(包括 - 连字符)。

编辑: 基本上我现在正在做的是从网页上抓取文本,我希望获得某个单词旁边的数字值。就像这里是网页,它保存在一个字符串..... health 78 mana 32 .....或类似的东西,我想得到78和32并将其保存为变量

4 个答案:

答案 0 :(得分:4)

如果你有一个字符串

String s = "...";

然后你可以使用split(delimiter)来获取 n th 位置的单词(用空格分隔),它返回一个数组String[]:< / p>

String word = s.split("\\s+")[n-1];

注意:

  • 传递给split()的参数是分隔符。在这种情况下,"\\s+"正则表达式,这意味着该方法将在每个空格上拆分字符串,即使它们在一起也是多个。

答案 1 :(得分:3)

为什么不使用StringName.split(&#34;&#34;)将String转换为String数组,即根据空格拆分字符串。然后只需要检索数组的第124个元素。

答案 2 :(得分:1)

例如,你有一个这样的字符串:

String a="Hello stackoverflow i am Gratin";

要查看第5个字,只需编写该代码:

   System.out.println(a.split("\\s+")[4]);

答案 3 :(得分:1)

这是一种不同的方法,如果不是第5个字,则自动返回空字符串:

String word = input.replaceAll("^\\s*(\\S+\\s+){4}(\\S+)?.*", "$1");

依赖split()的解决方案需要额外的步骤来检查生成的数组长度,以防止在少于5个字时获得ArrayIndexOutOfBoundsException