Ответ 1
Это легко, Вам нужно найти индекс [и], затем подстроку. (Здесь [всегда в начале и] находится в конце),
String loginToken="[wdsd34svdf]";
System.out.println(loginToken.substring(1, loginToken.length()-1));
Я работал в SOAP-сообщении, чтобы получить LoginToken из Webservice и сохранить LoginToken в String и использовать System.out.println(LoginToken);
для печати. Это печатает [wdsd34svdf], но я хочу только wdsd34svdf, так, как удалить квадратную скобку. пожалуйста, помогите мне.
Спасибо
Пример:
String LoginToken=getName().toString();
System.out.println("LoginToken" + LoginToken);
Выход: [wdsd34svdf] Я хочу wdsd34svdf
Это легко, Вам нужно найти индекс [и], затем подстроку. (Здесь [всегда в начале и] находится в конце),
String loginToken="[wdsd34svdf]";
System.out.println(loginToken.substring(1, loginToken.length()-1));
Вы всегда можете использовать substring
:
String loginToken = getName().toString();
loginToken = loginToken.substring(1, loginToken.length() - 1);
Это общее решение:
str.replaceAll("^.|.$", "")
Другим решением этой проблемы является использование метода commons-lang (начиная с версии 2.0) StringUtils.substringBetween(String str, String open, String close)
. Главным преимуществом является то, что он имеет нулевую безопасную работу.
StringUtils.substringBetween("[wdsd34svdf]", "[", "]"); // returns wdsd34svdf
У меня был похожий сценарий, и я подумал, что что-то вроде
str.replaceAll("\[|\]", "");
выглядел чище. Конечно, если ваш токен может иметь в нем скобки, это не сработает.
Таким образом вы можете удалить 1 ведущий символ "[" и 1 trailing "]". Если ваша строка не начинается с "[" или заканчивается символом "]", она ничего не удалит:
str.replaceAll("^\\[|\\]$", "")