从Java中删除字符串中第一个单词的最佳方法是什么?
如果我有
String originalString = "This is a string";
我想从中删除第一个单词,实际上形成两个字符串 -
removedWord = "This"
originalString = "is a string;
答案 0 :(得分: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
答案 1 :(得分:3)
您可以使用substring
removedWord = originalString.substring(0,originalString.indexOf(' '));
originalString = originalString.substring(originalString.indexOf(' ')+1);
答案 2 :(得分:3)
这绝对是一个很好的解决方案
String originalString = "This is a string";
originalString =originalString.replaceFirst("This ", "");
答案 3 :(得分:2)
如需立即回答,您可以使用:
removeWord = originalString.substring(0,originalString.indexOf(' '));
originalString = originalString.substring(originalString.indexOf(' '));
答案 4 :(得分: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));
答案 5 :(得分:0)
您可以检查第一个空格字符和单独字符串的位置。
String full = "Sample Text";
String cut;
int pointToCut = full.indexOf( ' ');
if ( offset > -1)
{
cut = full.substring( space + 1);
}
答案 6 :(得分:0)
String str = "This is a string";
String str2=str.substring(str.indexOf(" "));
String str3=str.replaceFirst(str2, "");
答案 7 :(得分: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(“这是一个字符串”,“这个”);
答案 8 :(得分:-1)
您可以使用StringTokenizer类。