0
String DeviceName = "Black USB (H:)";

如何从JAVA中的字符串中分离“黑色USB”并删除(H:),我需要在其他类的方法中进一步传递。

4

3 回答 3

7

对于这样一个简单的问题,没有必要使用正则表达式或拆分操作,那将是矫枉过正的。尝试这个:

String name = deviceName.substring(0, deviceName.indexOf('(')-1);

这是最简单的方法,它适用于 Windows 中设备名称的一般情况 - 无需事先知道设备的实际名称。

于 2012-10-24T15:50:14.403 回答
1

很多方法可以实现你想要的(正则表达式、StringTokenizer、String 的 split())。一种是:

String[] splitArray = deviceName.split("Black USB");

假设,它只是这个字符串(“黑色 USB”可以被硬编码)。

于 2012-10-24T15:49:54.063 回答
1

我会使用正则表达式。如果您需要捕获不同的格式,请对其进行一些修改:

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");
}
于 2012-10-24T15:58:03.123 回答