使用 split 或 tokenizer 在大括号内获取字符串的方法
method to take string inside curly braces using split or tokenizer
String s = "author= {insert text here},";
试图获取字符串的内部,我环顾四周但找不到仅使用拆分或分词器的解决方案...
到目前为止我在做这个
arraySplitBracket = s.trim().split("\{", 0);
这给了我 insert text here}
,
在 array[1] 但 id 就像一种没有 }
attached
的方法
也试过
StringTokenizer st = new StringTokenizer(s, "\{,\},");
但它给了我 author=
作为输出。
如何通过排除 arraySplitBracket.length()-1
处的字符来获取子字符串?
类似于
arraySplitBracket[1] = arraySplitBracket[1].substring(0,arraySplitBracket.length()-1);
或者用StringClass的replaceAll函数来替换}?
public static void main(String[] args) {
String input="{a c df sdf TDUS^&%^7 }";
String regEx="(.*[{]{1})(.*)([}]{1})";
Matcher matcher = Pattern.compile(regEx).matcher(input);
if(matcher.matches()) {
System.out.println(matcher.group(2));
}
}
您可以使用 \{([^}]*)\}
正则表达式来获取花括号之间的字符串。
代码快照:
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
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);
String s = "author= {insert text here},";
试图获取字符串的内部,我环顾四周但找不到仅使用拆分或分词器的解决方案...
到目前为止我在做这个
arraySplitBracket = s.trim().split("\{", 0);
这给了我 insert text here}
,
在 array[1] 但 id 就像一种没有 }
attached
也试过
StringTokenizer st = new StringTokenizer(s, "\{,\},");
但它给了我 author=
作为输出。
如何通过排除 arraySplitBracket.length()-1
类似于
arraySplitBracket[1] = arraySplitBracket[1].substring(0,arraySplitBracket.length()-1);
或者用StringClass的replaceAll函数来替换}?
public static void main(String[] args) {
String input="{a c df sdf TDUS^&%^7 }";
String regEx="(.*[{]{1})(.*)([}]{1})";
Matcher matcher = Pattern.compile(regEx).matcher(input);
if(matcher.matches()) {
System.out.println(matcher.group(2));
}
}
您可以使用 \{([^}]*)\}
正则表达式来获取花括号之间的字符串。
代码快照:
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
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);