Некоторое время назад я задал вопрос о следующем методе и придумал совершенно другой вопрос. Предположим, что у меня есть String AB → C
или AB → carry sum
или XY Cin → Cout Sum
. Как я могу извлечь слова раньше ->
без включения ->
? А потом извлечение слов после ->
?
public void parseContactsLine(String line)
{
String[] words = line.split("->");
for(int i = 0; i < words.length; i++)
{
}
}
Ваш первый сплит для "->" разделит на две строки список слов каждой стороны.
Затем вы можете повторно разбить пробелы с помощью .split("\\s");
чтобы получить список всех слов.
Вы закончите с
String[] wordsAfterLambda = line.split("->")[1].split("\\s");
for(String s : wordsAfterLambda)
System.out.println(s);
Обратите внимание, что я использовал for-each
вместо тех, for
которых я предпочитаю, когда нет необходимости хранить индекс.
редактировать
Согласно вашему комментарию, [1]
должен получить доступ к значению массива и не привязан к самому расколу, это то же самое, что и делать
String[] words = line.split("->");
String[] wordsAfterLambda = words[1].split("\\s");
[1]
.
String[] words = line.split("->");
хранит это для вас.