使用split或tokenizer在花括号内获取字符串的方法

时间:2018-10-30 05:47:15

标签: java string split stringtokenizer

String s = "author= {insert text here},";

试图获取字符串的内部,香港专业教育学院环顾四周,但仅使用拆分或分词器找不到解决方案...

到目前为止,我正在这样做

arraySplitBracket = s.trim().split("\\{", 0);

这给了我insert text here}, 在array [1]处,但id就像不附加}的方式

也尝试过

StringTokenizer st = new StringTokenizer(s, "\\{,\\},");

但是它给了我author=作为输出。

4 个答案:

答案 0 :(得分:4)

AA 1  
BB 1  
CC 1

答案 1 :(得分:0)

您可以使用\\{([^}]*)\\}正则表达式在花括号之间获取字符串。

代码捕捉:

String str = "{insert text here}";
        Pattern p = Pattern.compile("\\{([^}]*)\\}");
        Matcher m = p.matcher(str);
        while (m.find()) {
          System.out.println(m.group(1));
        }

输出:

insert text here

答案 2 :(得分:0)

String s = "auther ={some text here},"; 
s =  s.substring(s.indexOf("{") + 1); //some text here},
s = s.substring(0, s.indexOf("}"));//some text here
System.out.println(s);

答案 3 :(得分:-1)

如何通过排除arraySplitBracket.length()-1处的字符来获取子字符串

类似

arraySplitBracket[1] = arraySplitBracket[1].substring(0,arraySplitBracket.length()-1);

还是使用String类的replaceAll函数替换}?