разделить на подчеркивание, которое находится в середине - PullRequest
0 голосов
/ 24 сентября 2019

У меня есть такая строка qs_slc_az1_slx10c_1uytr_11.Я хочу разделить таким образом, чтобы я мог получить ключ как qs_slc_az1 и значение будет slx10c_1uytr_11.Как я могу разделить на подчеркивание, которое находится между?

String s = "qs_slc_az1_slx10c_1uytr_11";

Ответы [ 2 ]

0 голосов
/ 24 сентября 2019

Ключевой момент здесь: вы делаете это, разъясняя свои требования.

Вы должны указать: сколько символов подчеркивания допустимо?Всегда 5?Или 3,5,7?Или даже цифры?4,6?Когда вы пояснили это, вы можете «определить», что означает для вас «середина».Как долго остальные части входных строк !?

Все остальное прямо вперед, но зависит от ваших точных требований.

Если «всегда 5», вы можете просто использовать indexOf () несколько раз, чтобы идентифицировать третье подчеркивание, а затем «подстроку» вручную до / после этого.

В качестве альтернативы, просто разделите на "_", а затем вручную объедините те части, которые они должны сидеть вместе, потому что "не в середине".

0 голосов
/ 24 сентября 2019

Используйте подстроку:

String s = "qs_slc_az1_slx10c_1uytr_11";
String first = s.substring(0, 10); // qs_slc_az1
String second = s.substring(11); // slx10c_1uytr_11

Чтобы сделать ее немного более действенной, просто поймите, что число 10 является индексом подчеркивания, на которое вы хотели разделить.Таким образом, вы можете превратить это в такую ​​функцию:

public static Pair<String, String> splitAtIndex(String s, int index) {
    return new Pair<>(s.substring(0, index), s.substring(index + 1));
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...