Как лучше всего удалить первое слово из строки в Java?
Если у меня есть
String originalString = "This is a string";
Я хочу удалить из него первое слово и фактически сформировать две строки -
removedWord = "This"
originalString = "is a string;
Как лучше всего удалить первое слово из строки в 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
\\s+
, чтобы просмотреть все пробелы после слова как границу слова (определение границы слова и слова - это то, где это становится сложным, например, вы можете также включить запятую в смесь).
- person Maarten Bodewes; 21.02.2012
Это определенно будет хорошим решением
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(' '));
Попробуйте это с помощью index 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, "");
также вы можете использовать это решение:
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 («Это строка», «Это»);
Вы можете использовать класс StringTokenizer.