我使用SOAP消息从Webservice获取LoginToken,并将LoginToken存储在String中并使用System.out.println(LoginToken);
进行打印。打印[wdsd34svdf],但我只想wdsd34svdf,如何删除方括号。请任何人帮助我。
由于
示例:
String LoginToken=getName().toString();
System.out.println("LoginToken" + LoginToken);
输出:[wdsd34svdf] 我想要wdsd34svdf
答案 0 :(得分:137)
这很简单, 你需要找到[和]然后子串的索引。 (这里[始终在开始,]在结束时),
String loginToken="[wdsd34svdf]";
System.out.println(loginToken.substring(1, loginToken.length()-1));
答案 1 :(得分:13)
这是通用解决方案:
str.replaceAll("^.|.$", "")
答案 2 :(得分:11)
您始终可以使用substring
:
String loginToken = getName().toString();
loginToken = loginToken.substring(1, loginToken.length() - 1);
答案 3 :(得分:7)
此问题的另一个解决方案是使用commons-lang(自2.0版本开始)StringUtils.substringBetween(String str, String open, String close)
方法。主要优点是它安全无效。
StringUtils.substringBetween("[wdsd34svdf]", "[", "]"); // returns wdsd34svdf
答案 4 :(得分:4)
我有类似的情景,我认为像
str.replaceAll("\[|\]", "");
看起来更干净。当然,如果您的令牌中可能包含括号,则无效。
答案 5 :(得分:1)
这很好用
String str = "[wdsd34svdf]";
//String str1 = str.replace("[","").replace("]", "");
String str1 = str.replaceAll("[^a-zA-Z0-9]", "");
System.out.println(str1);
String strr = "[wdsd(340) svdf]";
String strr1 = str.replaceAll("[^a-zA-Z0-9]", "");
System.out.println(strr1);
答案 6 :(得分:0)
通过这种方式,您可以删除1个前导" ["和1尾随"]"字符。如果你的字符串碰巧不是以" ["或以"]"结束它不会删除任何东西:
str.replaceAll("^\\[|\\]$", "")
答案 7 :(得分:0)
StringUtils
' removeStart
和removeEnd
方法有助于从字符串的开头和结尾删除字符串。
在这种情况下,我们也可以使用这两种方法的组合
String string = "[wdsd34svdf]";
System.out.println(StringUtils.removeStart(StringUtils.removeEnd(string, "]"), "["));
答案 8 :(得分:0)
解决方案1
def spaceMeOut(str1):
print(str1[1:len(str1)-1])
str1 ='你好'
print(spaceMeOut(str1))
解决方案2
def spaceMeOut(str1):
res=str1[1:len(str1)-1] print('{}'.format(res))
str1 ='你好'
print(spaceMeOut(str1))
答案 9 :(得分:0)
在科特林
private fun removeLastChar(str: String?): String? {
return if (str == null || str.isEmpty()) str else str.substring(0, str.length - 1)
}
答案 10 :(得分:0)
尝试删除字符串ex。[1,2,3]的第一个和最后一个括号
String s =str.replaceAll("[", "").replaceAll("]", "");
预期结果= 1,2,3
答案 11 :(得分:-1)
这将为您提供基本的想法
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);