Есть текст:
"Привет\n\nМне нужно взять эту часть текста.\n\n Бла-бла\nБла-бла\Бла-бла."
Нужно взять часть текста(несколько предложений), которые находятся между символами "\n\n". Реально ли это сделать? Ну или хотя бы до символа "\n\n".
public static void main(String[] args)
{
String text = "Привет\n\nМне нужно взять эту часть текста.\n\n Бла-бла\nБла-бла\nБла-бла.";
String[] result = text.split("\n\n");
//Вывод отдельных предложений
for(int i = 0;i < result.length;i++)
{
System.out.println(result[i]);
}
}
Так?
String string = "Привет\n\nМне нужно взять эту часть текста.\n\n Бла-бла\nБла-бла\nБла-бла.";
String []splitArray = string.split("\n\n");
Дополнено
Нужная строка будет вторым элементом в массиве.
В случае, если нужно найти все варианты строк между \n\n
, можно использовать такой вариант:
String s = "Привет\n\nМне нужно взять эту часть текста.\n\nБла-бла\nБла-бла\n\nБла-бла.";
Pattern p = Pattern.compile("\n\n([\\s\\S]+?)\n\n");
Matcher m = p.matcher(s);
int i = 0;
while (m.find(i)) {
System.out.println("'" + m.group(1) + "'");
i = m.start(1);
}
Результат:
'Мне нужно взять эту часть текста.'
'Бла-бла
Бла-бла'
Если нужно первое вхождение - можно заменить цикл на простое условие:
if (m.find()) {
System.out.println(m.group(1));
}
Если между \n\n
не может быть других переносов строк, то логично упростить регулярное выражение и использовать \n\n(.+)\n\n
.
public String findSubstring (String text, char firstSearchSymbol, char secondSearchSymbol) {
try{
return text.substring(text.indexOf(firstSearchSymbol)+1, text.indexOf(secondSearchSymbol));
}
catch (StringIndexOutOfBoundsException e) {
return text;
}
}
Виртуальный выделенный сервер (VDS) становится отличным выбором
Скопировал данный проектКомпилируется без ошибок
При conection в базу, ошибка NoSuchMethodError: orghibernate
Приветствую! Есть url, на который необходимо послать запрос с использованием ЭЦП(электронная цифровая подпись), у меня есть private и public ключи,...