繁体   English   中英

如何获得字符串中的第5个字? 爪哇

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM