在java中使用正则表达式获取数字前的字符串

时间:2010-09-15 14:28:02

标签: java regex

有没有办法在()中的4个数字之前获取字符串的第一部分。

Input String: "Some Title (2000) some text."
Output String: "Some Title "

我不想迭代匹配并获得第一个。我想要正则表达式来获取()中4个数字之前的字符,我希望它丢弃文本的其余部分。

2 个答案:

答案 0 :(得分:2)

Regexp就像

(.*)\(\d{4}\).*

要在Java中使用,您需要转义反斜杠,输出字符串在第1组。

答案 1 :(得分:1)

对于这种类型的文本:

String result = input.split("\\(")[0];

或者,如果第一部分可能出现(

String result = input.split("\\(\\d{4}\\)")[0];

这甚至适用于根本不包含数字的输入和空字符串。