从Java中的字符串中删除第一个单词

从Java中的字符串中删除第一个单词的最佳方法是什么?

如果我有

String originalString = "This is a string";

我想从中删除第一个单词,实际上形成两个字符串 –

 removedWord = "This" originalString = "is a string; 

简单。

  String o = "This is a string"; System.out.println(Arrays.toString(o.split(" ", 2))); 

输出:

 [This, is a string] 

编辑:


在下面的第2行中,值存储在arr数组中。 像普通数组一样访问它们。

  String o = "This is a string"; String [] arr = o.split(" ", 2); arr[0] // This arr[1] // is a string 

这肯定是一个很好的解决方案

  String originalString = "This is a string"; originalString =originalString.replaceFirst("This ", ""); 

您可以使用substring

 removedWord = originalString.substring(0,originalString.indexOf(' ')); originalString = originalString.substring(originalString.indexOf(' ')+1); 

如需立即回答,您可以使用:

 removeWord = originalString.substring(0,originalString.indexOf(' ')); originalString = originalString.substring(originalString.indexOf(' ')); 

尝试使用索引var,我认为它非常有效:

 int spaceIdx = originalString.indexOf(" "); String removedWord = originalString.substring(0,spaceIdx); originalString = originalString.substring(spaceIdx); 

在JDK 1.7之前使用下面的方法可能会更有效,特别是如果你使用长字符串(参见本文 )。

 originalString = new String(originalString.substring(spaceIdx)); 

您可以检查第一个空格字符和单独字符串的位置。

 String full = "Sample Text"; String cut; int pointToCut = full.indexOf( ' '); if ( offset > -1) { cut = full.substring( space + 1); } 
 String str = "This is a string"; String str2=str.substring(str.indexOf(" ")); String str3=str.replaceFirst(str2, ""); 

String的replaceFirst和substring

你也可以使用这个解决方案:

 static String substringer(String inputString, String remove) { if (inputString.substring(0, remove.length()).equalsIgnoreCase(remove)) { return inputString.substring(remove.length()).trim(); } else { return inputString.trim(); } } 

示例:substringer(“This is a string”,“This”);

您可以使用StringTokenizer类。