String DeviceName = "Black USB (H:)";
如何从JAVA中的字符串中分离“黑色USB”并删除(H:),我需要在其他类的方法中进一步传递。
对于这样一个简单的问题,没有必要使用正则表达式或拆分操作,那将是矫枉过正的。尝试这个:
String name = deviceName.substring(0, deviceName.indexOf('(')-1);
这是最简单的方法,它适用于 Windows 中设备名称的一般情况 - 无需事先知道设备的实际名称。
很多方法可以实现你想要的(正则表达式、StringTokenizer、String 的 split())。一种是:
String[] splitArray = deviceName.split("Black USB");
假设,它只是这个字符串(“黑色 USB”可以被硬编码)。
我会使用正则表达式。如果您需要捕获不同的格式,请对其进行一些修改:
String s = "Black USB (H:)";
Pattern p = Pattern.compile("(.*) \\((.*)\\)");
Matcher m = p.matches(s);
if (m.matches()) {
System.out.println(m.group(1));
System.out.println(m.group(2));
} else {
System.out.prinln("No match");
}