2012-02-21 147 views
10

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

如果我有

String originalString = "This is a string";

我想从它,实际上形成了两个删除字符串的第一个字 -

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

回答

27

简单。

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 
+0

由于这个问题是相当基本的,你可能需要澄清如何从返回数组字符串的第一和第二部分。 – 2012-02-21 13:33:49

+0

其实,我更喜欢你的第一个答案。 println只会让它更模糊。 – 2012-02-21 13:35:49

+1

我不认为这将是必要的嘿。只是寻找在Java中进行这种简单操作的最佳方式,正如您所看到的,有几个不同的答案。 – 2012-02-21 13:36:03

0

您可以检查哪里是第一个空格字符和独立串。

String full = "Sample Text"; 
String cut; 
int pointToCut = full.indexOf(' '); 

if (offset > -1) 
{ 
    cut = full.substring(space + 1); 
} 
-1

您可以使用StringTokenizer类。

3

您可以使用substring

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

此使用索引VAR尝试,我认为这是非常有效:

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

此前JDK 1.7使用以下方法可能更有效,特别是如果你正在使用长字符串(请参阅此article)。

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

对于一个直接的答案,你可以这样做:

removeWord = originalString.substring(0,originalString.indexOf(' ')); 
originalString = originalString.substring(originalString.indexOf(' ')); 
0
String str = "This is a string";  

String str2=str.substring(str.indexOf(" ")); 
String str3=str.replaceFirst(str2, ""); 

字符串的replaceFirstsubstring

0

你也可以使用此解决方案:

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”);

3

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

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

当你不知道第一个单词是什么时,情况并非如此。 – 2014-02-25 06:26:11

相关问题