Как проверить на наклонную черту влево во входе?

Я должен проверить на последовательности символов как \chapter {Введение} от строк, считанных из файла. Чтобы сделать это, я должен сначала проверить на происшествие обратной косой черты.

Это - то, что я сделал

 final char[] chars = strLine.toCharArray();
         char c;
         for(int i = 0; i<chars.length; i++ ){
            c = chars[i];
            if(c ==  '\' ) {

            }
         }

Но обратную косую черту рассматривают как escape-последовательность, а не символ.

Любая справка о том, как к этому очень ценился бы.

5
задан Daniel Martin 4 July 2010 в 05:59
поделиться

3 ответа

Обратная косая черта является управляющим символом. Если вы хотите изобразить настоящий обратный слеш, вам нужно использовать два обратных слеша (тогда он сам себя экранирует). Кроме того, символы нужно обозначать одинарными, а не двойными кавычками. Итак, это должно работать:

if (c == '\\')

См. также:

9
ответ дан 18 December 2019 в 10:42
поделиться

Вы также можете рассмотреть возможность использования методов contains() и/или indexOf() для String. Они избавят вас от необходимости итерации по каждому символу в любой заданной строке.

Вот пример:

public class Test {

    public static void main(String[] args) {
        if(args.length < 1) {
            System.out.println("java Test string1 string2 ...");
            System.exit(1);
        }

        for (String inputStr : args) {
            if(inputStr.contains("\\")) {
                System.out.println("Found at: " + inputStr.indexOf("\\"));
            }
        }
    }

}
4
ответ дан 18 December 2019 в 10:42
поделиться

Символ обратной косой черты может быть представлен в исходном коде Java как '\\\'.

final char[] chars = strLine.toCharArray();
for (int i = 0; i < chars.length; i++) {
    if (chars[i] == '\\') {
        // is a backslash
    }
}
3
ответ дан 18 December 2019 в 10:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: