如何获取字符串中的括号内值?

2022-08-31 21:07:52

如何获取字符串中的括号内值?

String str= "United Arab Emirates Dirham (AED)";

我只需要 AED 文本。


答案 1

编译并打印“AED”。甚至适用于多个括号:

import java.util.regex.*;

public class Main
{
  public static void main (String[] args)
  {
     String example = "United Arab Emirates Dirham (AED)";
     Matcher m = Pattern.compile("\\(([^)]+)\\)").matcher(example);
     while(m.find()) {
       System.out.println(m.group(1));    
     }
  }
}

正则表达式表示:

  • \\(:字符(
  • (:开始比赛组
  • [:这些字符之一
  • ^:不是以下字符
  • ):与前一个,这意味着“除了^)"
  • +:布景中的更多内容之一[]
  • ):停止匹配组
  • \\):字面结束性悖论

答案 2

我不知道如何在括号内拆分。愿您帮助高度赞赏

当您拆分时,您使用的是reg-ex,因此禁止使用某些字符。

我想你要找的是

str = str.split("[\\(\\)]")[1];

这将用括号分隔。它转换为拆分为 或 。你使用双精度字来转义 paranthese,它是正则表达式的保留字符。()\\

如果你想按一个来分割,你也必须用它来转义这个点。.split("\\.")


推荐