有没有办法在()中的4个数字之前获取字符串的第一部分。
Input String: "Some Title (2000) some text."
Output String: "Some Title "
我不想迭代匹配并获得第一个。我想要正则表达式来获取()中4个数字之前的字符,我希望它丢弃文本的其余部分。
答案 0 :(得分:2)
Regexp就像
(.*)\(\d{4}\).*
要在Java中使用,您需要转义反斜杠,输出字符串在第1组。
答案 1 :(得分:1)
对于这种类型的文本:
String result = input.split("\\(")[0];
或者,如果第一部分可能出现(
:
String result = input.split("\\(\\d{4}\\)")[0];
这甚至适用于根本不包含数字的输入和空字符串。