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