[英]How do I get the 5th word in a string? Java
假设我有一个文本文档字符串,并且想将该字符串的第124个字保存到另一个字符串中,我该怎么做? 我假设它会将每个“单词”都算作空格之间的文本字符串(包括-连字符)。
编辑:基本上我现在正在做的是从网页上获取文本,我想获取某个单词旁边的数字值。 就像这里是网页一样,并将其保存在字符串中..... health 78 mana 32 .....或类似的东西,我想获取78和32并将其保存为变量
如果你有一个字符串
String s = "...";
那么您可以使用split(delimiter)
在第n 个位置获取单词(以空格split(delimiter)
,该元素返回一个数组String[]
:
String word = s.split("\\s+")[n-1];
注意:
split()
的参数是定界符。 在这种情况下, "\\\\s+"
是一个正则表达式 ,这意味着该方法将在每个空格上拆分字符串,即使在一起的字符串不止一个。 为什么不使用StringName.split(“”)将String转换为String数组,即基于空格拆分字符串。 然后只需要检索数组的第124个元素即可。
例如,您有一个像这样的字符串:
String a="Hello stackoverflow i am Gratin";
要查看第5个字,只需编写以下代码:
System.out.println(a.split("\\s+")[4]);
这是一种不同的方法,如果没有第5个字,则会自动返回一个空白的String:
String word = input.replaceAll("^\\s*(\\S+\\s+){4}(\\S+)?.*", "$1");
依赖split()
解决方案将需要一个额外的步骤来检查结果数组的长度,以防止少于5个字时出现ArrayIndexOutOfBoundsException
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.