String DeviceName = "Black USB (H:)";
「BlackUSB」を分離し、JAVAの文字列から(H :)を削除する方法。これは、他のクラスのメソッドでさらに渡す必要があります。
このような単純な問題に正規表現や分割操作を使用する必要はありません。これを試して:
String name = deviceName.substring(0, deviceName.indexOf('(')-1);
これは最も簡単な方法であり、デバイスの実際の名前を事前に知らなくても、Windows のデバイス名の一般的なケースで機能します。
あなたが望むものを達成するための多くの方法 (regex、StringTokenizer、String の split())。1つは次のとおりです。
String[] splitArray = deviceName.split("Black USB");
仮定すると、それはこの文字列のためのものです (「Black 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");
}