Как удалить первый и последний символ строки? - PullRequest
60 голосов
/ 13 января 2012

Я работал в сообщении SOAP, чтобы получить LoginToken от Webservice, и сохранял LoginToken в String и использовал System.out.println(LoginToken); для печати. Это печатает [wdsd34svdf], но я хочу только wdsd34svdf, так, как снять квадратную скобку. пожалуйста, помогите мне.

Спасибо

Пример:

String LoginToken=getName().toString();
System.out.println("LoginToken" + LoginToken);

Вывод: [wdsd34svdf] Я хочу wdsd34svdf

Ответы [ 8 ]

138 голосов
/ 13 января 2012

Это просто, вам нужно найти индекс [и], а затем подстроку.(Здесь [всегда в начале и] в конце),

String loginToken="[wdsd34svdf]";
System.out.println(loginToken.substring(1, loginToken.length()-1));
14 голосов
/ 08 августа 2015

Это общее решение:

str.replaceAll("^.|.$", "")
11 голосов
/ 13 января 2012

Вы всегда можете использовать substring:

String loginToken = getName().toString();
loginToken = loginToken.substring(1, loginToken.length() - 1);
7 голосов
/ 21 августа 2013

Другим решением этой проблемы является использование метода commons-lang (начиная с версии 2.0) StringUtils.substringBetween(String str, String open, String close). Главное преимущество в том, что это нулевая безопасная операция.

StringUtils.substringBetween("[wdsd34svdf]", "[", "]"); // returns wdsd34svdf

5 голосов
/ 26 июля 2012

У меня был похожий сценарий, и я подумал, что что-то вроде

str.replaceAll("\[|\]", "");

выглядит чище.Конечно, если в вашем токене есть скобки, это не сработает.

0 голосов
/ 08 июня 2018

Это даст вам основную идею

    String str="";
    String str1="";
    Scanner S=new Scanner(System.in);
    System.out.println("Enter the string");
    str=S.nextLine();
    int length=str.length();
    for(int i=0;i<length;i++)
    {
        str1=str.substring(1, length-1);
    }
    System.out.println(str1);
0 голосов
/ 29 мая 2018
Методы

StringUtils * removeStart и removeEnd помогают удалить строку из начала и конца строки.

В этом случае мы также можем использовать комбинацию этих двух методов

String string = "[wdsd34svdf]";
System.out.println(StringUtils.removeStart(StringUtils.removeEnd(string, "]"), "["));
0 голосов
/ 17 января 2017

Таким образом, вы можете удалить 1 ведущий символ "[" и 1 трейлинг "]".Если ваша строка не начинается с «[» или не заканчивается на «]», она ничего не удалит:

str.replaceAll("^\\[|\\]$", "")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...