简体   繁体   English

使用 RegEx 拆分 Java 中的字符串

[英]Split strings in Java using RegEx

I want to split String a = "1.48 kb";我想拆分String a = "1.48 kb"; in java.在 java 中。

String a = "1.48 kb";
String[] fileNameSplit = a.split(".\\s*[a-zA-Z]+");
System.out.println(fileNameSplit[0]);

Expected output is 1.4 But output I want is, 1.4 kb预计 output 为1.4但我想要的 output 是1.4 kb

You can try using this:你可以尝试使用这个:

Pattern pattern = Pattern.compile("^(\\d+.?\\d?)(\\d*)(\\s*[a-zA-Z]*)$");
Matcher matcher = pattern.matcher("1.48 kb");
if (matcher.matches()) { // true
   System.out.println(matcher.group(1)); // 1.4
   System.out.println(matcher.group(3)); //  kb

   String result = MessageFormat.format("{0}{1}", matcher.group(1), matcher.group(3));
   System.out.println(result); // 1.4 kb
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM