Java replaceAll(..) 和正则表达式
Java replaceAll(..) and Regular Expressions
如何删除带括号的文本?
String string = "product(version(id),code),user(uid)";
string = string.replaceAll("\(.*\)", "");
System.out.println("string= " + string);
当我这样做时,我得到:
string= product
但我想得到
string= product,user
此致!
试试这个:
String string = "(product(version(id),code),use)r(uid)";
StringBuilder sb = new StringBuilder();
int countOpenPar = 0;
for (int i=0; i<string.length(); i++) {
char c = string.charAt(i);
if( c == '(' ){
countOpenPar++;
}else if( c == ')' ){
countOpenPar-- ;
}else if( countOpenPar == 0){
sb.append(c);
}
}
System.out.println("string= " + sb.toString());
如何删除带括号的文本?
String string = "product(version(id),code),user(uid)";
string = string.replaceAll("\(.*\)", "");
System.out.println("string= " + string);
当我这样做时,我得到:
string= product
但我想得到
string= product,user
此致!
试试这个:
String string = "(product(version(id),code),use)r(uid)";
StringBuilder sb = new StringBuilder();
int countOpenPar = 0;
for (int i=0; i<string.length(); i++) {
char c = string.charAt(i);
if( c == '(' ){
countOpenPar++;
}else if( c == ')' ){
countOpenPar-- ;
}else if( countOpenPar == 0){
sb.append(c);
}
}
System.out.println("string= " + sb.toString());