Java: предотвратить автоматическое декодирование закодированной строки

У меня есть закодированная строка, как это:

17298457,abcdef/17298529,ghijklm/17298562,opq%2Frstu

и хочу разделить его на "/".

В последней части есть закодированный "/" как "%2F".

Результат

[17298457,abcdef , 17298529,ghijklm , 17298562,opq , rstu]

Проблема в том, что Java декодирует строку на лету, как только я передаю ее другому методу (метод split ec)

У кого-нибудь есть хорошая идея, как обойти это?

большое спасибо! монах

2 ответа

Не для меня....

import java.util.Arrays;
public class Test {
    public static void main(String[] args) throws Exception {
        String s = "17298457,abcdef/17298529,ghijklm/17298562,opq%2Frstu";
        System.out.println(Arrays.toString(s.split("/")));
    }
}

дает

[17298457,abcdef, 17298529,ghijklm, 17298562,opq%2Frstu]
public static void main(String[] args) {


    String test = "17298457,abcdef/17298529,ghijklm/17298562,opq%2Frstu";

    String[] args2 = test.split("/");

    for (int i = 0; i < args2.length; i++) {

        String[] args3 = args2[i].split("%2F");

        for (int j = 0; j < args3.length; j++) {

            if(!args3[j].trim().startsWith(",") && j != 0)
            System.out.print(" ,");
            System.out.print(args3[j]);
        }

    }

OUT PUT - КАК ВЫ ПИСИТЕ -

17298457, abcdef17298529, ghijklm17298562, opq, rstu

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