如何删除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("^\\[|\\]$", "")