どのようにパスの最後の目的地を削除するには、分割()を使用するには?

フランシスコ・ロペス:

私はパスのリストを持っていると私は、各パスの最後のディレクトリを削除する必要があります。

パス:「私は:\ Directory_1 \ Directory_2 \ Directory_3-Sometextは、」私は右側にeveryting削除するためにsplitメソッドを使用しました「 - 」

私は、分割()を一つずつ削除して、1つの文字列のすべてを再編成を使用してみました。私はスプリット(「\」)上のeverytingとな長さを使用してみました()

//Removes text after '-'
String [] parts = path.split("-")
String partsA = parts[0]

String [] newParts = partsA.split("\\\\");
String partsB = newParts[newParts.length-1];

partsA = partsA.substring(partsA.length()-partsB.length(),partsA.length()+partsB.length());

私は、出力に含まがあることを期待します

\ Directory_1 \ Directory_2

最後のディレクトリとテキストなし

assylias:

代わりに、文字列操作を使用して、あなたはそれが(例えば、UNIXパスなどのパスの他の種類を扱うことができるという追加の利点で、適切なパス/ファイルオブジェクトを使用することができます/home/directory1):

String f = "I:\\Directory_1\\Directory_2\\Directory_3-Sometext";
Path p = Paths.get(f);
Path parent = p.getParent();
System.out.println(parent.toString());

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=222758&siteId=1