Cómo utilizar split () para eliminar el último destino en el camino?

Francisco Lopes :

Tengo una lista de rutas y tengo que quitar el último directorio de cada ruta.

Ruta de acceso: "I: \ directorio_1 \ directorio_2 \ Directory_3-SomeText" He utilizado el método de partición para eliminar Everyting en el lado derecho de la '-'

He intentado usar split () eliminar uno por uno y luego reagrupar todo en una sola cadena. He intentado everyting división en ( "\") y el uso de longitud ()

//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());

Espero que la salida sea

\ Directorio_1 \ directorio_2

sin el último directorio y el texto

assylias:

En lugar de utilizar la manipulación de cadenas, se puede usar objetos ruta / archivo adecuados, con el beneficio adicional de que puede manejar otros tipos de caminos (por ejemplo, una dirección de UNIX como /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());

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=222761&siteId=1
Recomendado
Clasificación