-4

我有一个字符串,我想检查该字符串是否包含如下字符串,如果存在则获取该字符串 no(例如:2012)。(我正在尝试获得多年的字符串)

"from 20##" , "From 20##" , "from 19##" or "From 19##"    

  "to 20##" , "To 20##" , "to 19##" or "To 19##"    # can be any one digit no 

请告诉我该怎么做

4

2 回答 2

0

使用正则表达式搜索模式。

[/d]您可以在正则表达式中用“”替换任何数字。

因此,如果您正在搜索20##,您的搜索模式将是20[\d][\d]

看看这个教程是不是你还有疑惑。

于 2012-08-29T09:37:55.430 回答
0

你真正需要的是

int year = Integer.parseInt(str.substring(str.length()-4)

你可以自由检查year >= 1900 && year < 2100

如果您需要断言字符串与您的模式匹配,您可以测试

str.matches("([Ff]rom|[Tt]o)\\s+\\d{4}")
于 2012-08-29T13:13:54.207 回答