Разделить данные, используя последнее появление запятой

Я пытаюсь разделить данные ниже:

Input:abc=def,jkl,nm=ghi


Output:
abc=def,jkl

nm=ghi

Итак, в основном я хочу разделить пару значений ключа с помощью запятой ... но если значение содержит запятую, следует учитывать последнее вхождение запятой.

Пробовал regex = "(.*)," но он дает мне результат как

nm=ghi

Пробуем и другие комбинации.

Здесь я хочу использовать регулярное выражение только для определенных требований.

Мне удалось решить указанную выше проблему, используя приведенный ниже код:

//get data between two equals
     String test2= abc=def,jkl,nm=ghi
     String[] testVals=test2.split("(?=,\\w+=)(,)");

    Now the issue is with below data:

    Input:abc=def123,nm=ghi-ghy,jkl,egrh=878787,kjasd:1:1=908@0982
    and i am getting output as:
    abc=def123
    nm=ghi-ghy,jkl
    egrh=878787,kjasd:1:1=908@0982

    Expected output:
    abc=def123
    nm=ghi-ghy,jkl
    egrh=878787
    kjasd:1:1=908@0982

Я действительно думаю, что вам следует вернуться к тому, кто вас просил сделать это, и попросить их настроить его по-другому, поскольку это станет причиной многих проблем, которых можно легко избежать.

Friso 04.10.2018 12:28

Есть ли конкретная причина использовать регулярное выражение, а не, скажем, input.split (",")?

Friso 04.10.2018 12:28

@SayaliDingankar Проверьте повторяющийся вопрос, я добавил новый ответ с более простым регулярным выражением, используя ваш ввод в качестве примера.

walen 04.10.2018 12:40
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
3
36
0

Другие вопросы по теме