Java replace all square brackets in a string

前端 未结 7 1072
执笔经年
执笔经年 2020-12-02 11:20

I want to remove square brackets from a string, but I don\'t know how.

String str = \"[Chrissman-@1]\";
str = replaceAll(\"\\\\[\\\\]\", \"\");

String[] tem         


        
相关标签:
7条回答
  • 2020-12-02 11:28

    You may also do it like this:

    String data = "[yourdata]";
    String regex = "\\[|\\]";
    data  = data .replaceAll(regex, "");
    System.out.println(data);
    
    0 讨论(0)
  • 2020-12-02 11:45

    The replaceAll method is attempting to match the String literal [] which does not exist within the String try replacing these items separately.

    String str = "[Chrissman-@1]";
    str = str.replaceAll("\\[", "").replaceAll("\\]","");
    
    0 讨论(0)
  • 2020-12-02 11:46

    use regex [\\[\\]] -

    String str = "[Chrissman-@1]";
    String[] temp = str.replaceAll("[\\[\\]]", "").split("-@");
    System.out.println("Nickname: " + temp[0] + " | Power: " + temp[1]);
    

    output -

    Nickname: Chrissman | Power: 1
    
    0 讨论(0)
  • 2020-12-02 11:46

       Use this line:) String result = strCurBal.replaceAll("[(" what ever u need to remove ")]", "");
    
        String strCurBal = "(+)3428";
        Log.e("Agilanbu before omit ", strCurBal);
        String result = strCurBal.replaceAll("[()]", ""); // () removing special characters from string
        Log.e("Agilanbu after omit ", result);
       
        o/p :
        Agilanbu before omit : (+)3428
        Agilanbu after omit :  +3428
    
        String finalVal = result.replaceAll("[+]", ""); // + removing special characters from string
        Log.e("Agilanbu finalVal  ", finalVal);
        o/p
        Agilanbu finalVal : 3428
                
        String finalVal1 = result.replaceAll("[+]", "-"); // insert | append | replace the special characters from string
        Log.e("Agilanbu finalVal  ", finalVal1);
        o/p
        Agilanbu finalVal : -3428  // replacing the + symbol to -

    0 讨论(0)
  • 2020-12-02 11:49

    You're currently trying to remove the exact string [] - two square brackets with nothing between them. Instead, you want to remove all [ and separately remove all ].

    Personally I would avoid using replaceAll here as it introduces more confusion due to the regex part - I'd use:

    String replaced = original.replace("[", "").replace("]", "");
    

    Only use the methods which take regular expressions if you really want to do full pattern matching. When you just want to replace all occurrences of a fixed string, replace is simpler to read and understand.

    (There are alternative approaches which use the regular expression form and really match patterns, but I think the above code is significantly simpler.)

    0 讨论(0)
  • 2020-12-02 11:52

    Your regex matches (and removes) only subsequent square brackets. Use this instead:

    str = str.replaceAll("\\[|\\]", "");
    

    If you only want to replace bracket pairs with content in between, you could use this:

    str = str.replaceAll("\\[(.*?)\\]", "$1");
    
    0 讨论(0)
提交回复
热议问题