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

时间:2012-01-13 05:05:16

标签: java string

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

由于

示例:

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

输出:[wdsd34svdf] 我想要wdsd34svdf

12 个答案:

答案 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' removeStartremoveEnd方法有助于从字符串的开头和结尾删除字符串。

在这种情况下,我们也可以使用这两种方法的组合

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);