可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
I have worked in SOAP message to get LoginToken from Webservice, and store the LoginToken in String and used System.out.println(LoginToken);
to print. This prints [wdsd34svdf], but I want only wdsd34svdf so, how to remove square bracket. please any one help me.
Thanks
Example:
String LoginToken=getName().toString(); System.out.println("LoginToken" + LoginToken);
Output: [wdsd34svdf] I want wdsd34svdf
回答1:
It's easy, You need to find index of [ and ] then substring. (Here [ is always at start and ] is at end) ,
String loginToken="[wdsd34svdf]"; System.out.println(loginToken.substring(1, loginToken.length()-1));
回答2:
You can always use substring
:
String loginToken = getName().toString(); loginToken = loginToken.substring(1, loginToken.length() - 1);
回答3:
This is generic solution:
str.replaceAll("^.|.$", "")
回答4:
Another solution for this issue is use commons-lang (since version 2.0) StringUtils.substringBetween(String str, String open, String close)
method. Main advantage is that it's null safe operation.
StringUtils.substringBetween("[wdsd34svdf]", "[", "]"); // returns wdsd34svdf
回答5:
I had a similar scenario, and I thought that something like
str.replaceAll("\[|\]", "");
looked cleaner. Of course, if your token might have brackets in it, that wouldn't work.
回答6:
This way you can remove 1 leading "[" and 1 trailing "]" character. If your string happen to not start with "[" or end with "]" it won't remove anything:
str.replaceAll("^\\[|\\]$", "")