我使用SOAP消息从Webservice获取LoginToken,并将LoginToken存储在String中并用于System.out.println(LoginToken);
打印.打印[wdsd34svdf],但我只想要wdsd34svdf,如何删除方括号.请任何人帮助我.
谢谢
例:
String LoginToken=getName().toString();
System.out.println("LoginToken" + LoginToken);
Run Code Online (Sandbox Code Playgroud)
输出:[wdsd34svdf]我想要wdsd34svdf
gti*_*333 146
这很简单,你需要找到[和]然后子串的索引.(这里[始终在开始,]在结束时),
String loginToken="[wdsd34svdf]";
System.out.println(loginToken.substring(1, loginToken.length()-1));
Run Code Online (Sandbox Code Playgroud)
phi*_*o37 18
这是通用的解决方案:
str.replaceAll("^.|.$", "")
Run Code Online (Sandbox Code Playgroud)
Ted*_*opp 13
你可以随时使用substring
:
String loginToken = getName().toString();
loginToken = loginToken.substring(1, loginToken.length() - 1);
Run Code Online (Sandbox Code Playgroud)
此问题的另一个解决方案是使用commons-lang(自2.0版本开始)StringUtils.substringBetween(String str, String open, String close)
方法.主要优点是它的安全操作无效.
StringUtils.substringBetween("[wdsd34svdf]", "[", "]"); // returns wdsd34svdf
我也有类似的情况,我认为类似
str.replaceAll("\[|\]", "");
Run Code Online (Sandbox Code Playgroud)
看起来更干净。当然,如果您的令牌中可能带有方括号,那将是行不通的。
小智 5
尝试删除字符串 ex.[1,2,3] 的第一个和最后一个括号
String s =str.replaceAll("[", "").replaceAll("]", "");
Run Code Online (Sandbox Code Playgroud)
预期结果 = 1,2,3
归档时间: |
|
查看次数: |
159701 次 |
最近记录: |