Tôi đang sử dụng chức năng này:
public static String remove_parenthesis(String input_string, String parenthesis_symbol){
// removing parenthesis and everything inside them, works for(),[] and {}
if(parenthesis_symbol.contains("[]")){
return input_string.replaceAll("\\s*\\[[^\\]]*\\]\\s*", " ");
}else if(parenthesis_symbol.contains("{}")){
return input_string.replaceAll("\\s*\\{[^\\}]*\\}\\s*", " ");
}else{
return input_string.replaceAll("\\s*\\([^\\)]*\\)\\s*", " ");
}
}
Bạn có thể gọi nó như thế này:
remove_parenthesis(g, "[]");
remove_parenthesis(g, "{}");
remove_parenthesis(g, "()");
Thank you very much. Trong ứng dụng cụ thể của tôi, tôi không lo lắng về việc làm tổ. – Daniel
Thực ra, khi tôi nghĩ về nó nhiều hơn một chút, việc lồng ghép sẽ không là vấn đề bởi vì '. *' Là tham lam theo mặc định. Vấn đề thực sự là với các chuỗi như '(abc) (def)' sẽ bị xóa hoàn toàn. –
Cũng không phải là một vấn đề trong tình huống của tôi. Sẽ không bao giờ có nhiều hơn một bộ ngoặc đơn. – Daniel