Мне нужно разбить строку, используя символ трубы '|'Как разбить строковое значение, используя символ pipe в качестве разделителя?
В этом случае я могу разделить строковое значение, но если у есть «номер пули» больше (0-9), он печатает только первую цифру числа.
Пример: Если вход 11. Welcome to java programming
Это напечатает 1 Welcome to java programming
Это мой код до сих пор
public static void main(String[] args) {
String split_vls = "11. Welcome1. to java programming |1. Oops concepts |12. Encapsulation |3.Abstraction |14.Inheritance |5.Polymorphism";
String[] Numeric_split = split_vls.split("\\|*(\\d+\\.)\\s*");
for (String pipes_Split : Numeric_split) {
System.out.println(pipes_Split);
}
}
Это выход, который я получаю:
для программирования Java Описания концепций Инкапсуляция Абстракция
Наследование
Полиморфные
Это ожидаемый результат:
Добро пожаловать в программирования Java
Oops понятий
Инкапсуляция
Абстракция
Наследование
Полиморфные
Сэр, если у меня есть «» в предложении вроде: 11. Добро пожаловать. для программирования на Java. Он получает разделение предложения. В этом сценарии не достигается выход Excepted. 'Добро пожаловать для программирования Java Упс концепции Инкапсуляция Абстракция Наследование Полиморфизм ' –
@Chola Вы можете заменить '\\ w' с' \\ d', чтобы избежать сопоставления букв ([демо] (HTTP: // ideone .com/GbHvfJ)). – dasblinkenlight
Сэр, я сделал некоторые изменения из вашего ответа в своем вопросе: «Если я добавлю новый номер и«. ». Он полностью удаляет предыдущее слово «Добро пожаловать» полностью. Пожалуйста, проверьте мой вопрос. И Дайте мне решение. –