我正在尝试用Java分割字符串。
例如
Hello (1234)
之后的部分(不得包含在字符串中。 我期待以下内容:
Hello
你会怎么做?
答案 0 :(得分:3)
根据
分开"Hello (1234)".split("\\s*\\(")[0];
字符。然后从分割部分的索引0获取值。
"Hello (1234)".split("\\s+")[0];
或
private const string AppId = "MY_APP_ID";
答案 1 :(得分:2)
您可以不用任何内容替换括号中的内容。
String str = "Hello(1234)";
String result = str.replaceAll("\\(.*\\)", "");
System.out.println(result);
你在问题中提到了拆分操作,但你说
之后的部分(不得包含在字符串中。我期待 以下内容:
所以我假设你放弃了(1234)
?如果您需要保存,请考虑另一个答案(使用split
)
答案 2 :(得分:0)
您可以尝试以下正则表达式
String[] split = "Hello (1234)".split("\\s*\\([\\d]*\\)*");
System.out.println(split[0]);
\\ s *空格可能会被忽略
\\((或左括号在正则表达式中具有特殊含义,所以\\(仅表示)
同样的情况是)或右括号\\)
\\ d *数字可能存在
如果该字符至少出现一次,您可以使用+代替*