如何删除string的第一个和最后一个字符?

我曾在SOAP消息中从Webservice获取LoginToken,并将LoginToken存储在String中,并使用System.out.println(LoginToken); 打印。 这打印[wdsd34svdf],但我只想要wdsd34svdf所以,如何删除方括号。 请任何人帮助我。

谢谢

例:

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

输出:[wdsd34svdf]我想要wdsd34svdf

这很容易,你需要find[和]然后子string的索引。 (这里(总是在开始和结束),

 String loginToken="[wdsd34svdf]"; System.out.println(loginToken.substring(1, loginToken.length()-1)); 

你总是可以使用substring

 String loginToken = getName().toString(); loginToken = loginToken.substring(1, loginToken.length() - 1); 

这是通用的解决scheme:

 str.replaceAll("^.|.$", "") 

此问题的另一个解决scheme是使用commons-lang(自2.0版本以来) StringUtils.substringBetween(String str, String open, String close)方法。 主要优点是它是无效的安全操作。

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

我有一个类似的情况,我认为这样的事情

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

看起来更干净 当然,如果你的令牌可能有括号,那就行不通了。

这样你可以删除1个前导“[”和1个尾随“]”字符。 如果你的string碰巧不是以“[”开始或以“]结尾”,它不会删除任何东西:

 str.replaceAll("^\\[|\\]$", "")