Java 对字符串的操作
我有一个字符串“联合王国(英国)、美利坚合众国(美国)、印度(印度)” 我只想要括号中的值,即我想要一个字符串“UK,USA,IND”。我是java新手。请告诉我该怎么做Java 对字符串的操作,java,string,stringbuilder,Java,String,Stringbuilder,我有一个字符串“联合王国(英国)、美利坚合众国(美国)、印度(印度)” 我只想要括号中的值,即我想要一个字符串“UK,USA,IND”。我是java新手。请告诉我该怎么做 public static void main(String[] args) { String example = "United Kingdom (UK), United States Of America (USA), India (IND)"; Matcher m = Pattern.co
public static void main(String[] args) {
String example = "United Kingdom (UK), United States Of America (USA), India (IND)";
Matcher m = Pattern.compile("\\(([^)]+)\\)").matcher(example);
while (m.find()) {
System.out.println(m.group(1));
}
}
输出
UK
USA
IND
你可以使用这个:
String str = "United Kingdom (UK), United States Of America (USA), India (IND)";
StringTokenizer st2 = new StringTokenizer(str, "(,)");
boolean skip = false;
while (st2.hasMoreTokens()) {
if (skip) {
System.out.println(st2.nextToken());
skip = false;
}else{
String string = st2.nextToken().toString();
skip = true;
}
}
输出
UK
USA
IND
regex
Matcher
indexOf()
,subString()
读取此文件,生成一个程序。如果你的代码有任何问题,那么就用你的代码来解决吧,因为提问者是初学者,多做一点解释会很有用……完全同意@Holgeralth,尽管我同意上面的评论,希望没有人会觉得被冒犯:这些问题听起来不像是提问者在寻求解释……你能告诉我如果我用[]而不是(),会是什么样的模式吗?你确定这是有效的吗。因为java second中没有这样的东西bool
,如果跳过为false,那么就不可能执行if块。在我看来,这是一个没有任何输出的无限循环