我的格式为
10.10.09.09.00
现在我想找到前三个地方:
String getformattedString(Strring str){
//impl
return newStr;
}
例如10.10.09.
我该怎么办?
答案 0 :(得分:4)
不必使用正则表达式,这也可以使用:
String[] fields = str.split("\\.");
return fields[0] + "." + fields[1] + "." + fields[2] + ".";
答案 1 :(得分:4)
Pattern regex = Pattern.compile("^(?:\\d+\\.){3}");
Matcher regexMatcher = regex.matcher(subjectString);
if (regexMatcher.find()) {
// matched text: regexMatcher.group()
}
答案 2 :(得分:1)
这是一个单线解决方案:
public static String getFormattedString(String str) {
return str.replaceAll("(^(\\d\\d\\.){3}).*", "$1");
}
这是测试代码:
public static void main(String[] args) {
System.out.println(getFormattedString("10.10.09.09.00"));
}
输出:
10.10.09.
答案 3 :(得分:0)
Regular expressions听起来就像你追求的那样。
答案 4 :(得分:0)
也尝试这样:
return str.Substring(0, str.LastIndexOf(".", str.LastIndexOf(".") - 1) + 1)