假设我有一个文本文件的字符串,我想将该字符串的第124个字保存在另一个字符串中,我该怎么做?我认为每个" word"作为空格之间的一串文本(包括 - 连字符)。
编辑: 基本上我现在正在做的是从网页上抓取文本,我希望获得某个单词旁边的数字值。就像这里是网页,它保存在一个字符串..... health 78 mana 32 .....或类似的东西,我想得到78和32并将其保存为变量
答案 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
。