字符串使用regex java从timeZones中仅拆分“UTC-11:00”

时间:2014-03-17 09:37:41

标签: java javascript regex string timezone

我想只拆分" UTC-11:00"从时区使用正则表达式java。 我的字符串EX。

United States - UTC−12:00 : Baker Island and Howland Island
United States - UTC−11:00 : American Samoa, Jarvis Island, Kingman Reef, Midway Atoll and Palmyra Atoll

我想使用这种方法。此方法只需返回UTC-12:00' 你可以帮忙吗?

public native String jsRegExp(String str, String regex)
/*-{
  return str.replace(/regex/, '');  // an example replace using regexp 
}-*/;

1 个答案:

答案 0 :(得分:0)

您可以使用PatternreplaceAll()函数将其替换为新形状,而不是使用String选择匹配的组!

String str = "United States - UTC-12:00 : Baker Island and Howland Island";
System.out.println(str.replaceAll(".*?-\\s+|(?<=\\d\\d:\\d\\d)\\s+:.*", ""));

在此示例中,它使用-移除第一个.*?-\\s+之前的所有内容,并使用外观检查(xx:xx)删除(?<=\\d\\d:\\d\\d)\\s+:.*之后的所有内容

更新:您使用的是javascript,而不是java。此外,Javascript不支持lookbehind。你必须以不同的方式做到这一点。例如:

var str = "United States - UTC-12:00 : Baker Island and Howland Island";
str = str.replace(/.*?-\s+|(\d\d:\d\d)\s+:.*/g, "$1");