Подтвердить что ты не робот

Как разбить строку java на обратную косую черту

String fname="C:\textfiles\db\query\query.txt";

это строка, которую мне нужно разбить.

Я пробовал с этим

String [] items=fname.split("\");  

Но не работает.

String [] items=fname.split("\\"); also not working...

как разбить эту строку...

4b9b3361

Ответ 1

Прежде всего, вы не можете иметь строку, о которой вы писали.

String fname="C:\textfiles\db\query\query.txt";

это должно быть заменено на

String fname="C:\\textfiles\\db\\query\\query.txt";

поскольку обратная косая черта ( "\" ) также нуждается в побеге.

Наконец, вам нужно сделать что-то вроде этого, чтобы разделить их:

 String fname="C:\\textfiles\\db\\query\\query.txt";
 String[] items= fname.split("\\\\");
 System.out.println(Arrays.toString(items));

Надеюсь, что это поможет.

Ответ 2

он работает.

String fname="C:\\textfiles\\db\\query\\query.txt";
       String split[]  = fname.split("\\\\");
       System.out.println(" :: value " + split[0] );

Ответ 3

'split' ожидает RegEx. Лучший способ использования split - использовать "Pattern.quote"

String separator = "\\";
String value = "C:\\Main\\text.txt";
String[] arrValues = value.split(Pattern.quote(separator));

Ответ 4

public static String[] splitPath (String path) {
    String backslash = ((char)92) + "";
    if (path.contains(backslash)) {
        ArrayList<String> parts = new ArrayList<>();
        int start = 0;
        int end = 0;
        for ( int c : path.toCharArray() ) {
            if (c == 92) {
                parts.add(path.substring(start, end));
                start = end + 1;
            }
            end++;
        }
        parts.add(path.substring(start));
        return parts.toArray( new String[parts.size()] );
    }
    return path.split("/");
}

Ответ 5

**//single slash already used as space in java 
// suppose it would be Object Type obj="C:\textfiles\db\query\query.txt";**

public static void main(String[] args) {
String target="\\";
String replacement="\\\\";
String str=(String) obj;
str=str.replace(target, replacement);
String[] strarray=str.split(replacement);
String filename=strarray[8];
System.out.println("file Name: "+filename);
}

Ответ 6

Используйте регулярное выражение, чтобы избежать символа. "String".split( "\/" );