我想只拆分" 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
}-*/;
答案 0 :(得分:0)
您可以使用Pattern
类replaceAll()
函数将其替换为新形状,而不是使用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");