Java: предотвратить автоматическое декодирование закодированной строки - PullRequest
0 голосов
/ 12 июля 2011

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

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

и я хочу разделить ее на «/».

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

Результат:

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

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

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

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

Ответы [ 2 ]

1 голос
/ 12 июля 2011

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

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]
0 голосов
/ 12 июля 2011
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

...