Как проверить обратную косую черту при вводе? - PullRequest
4 голосов
/ 04 июля 2010

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

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

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

            }
         }

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

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

Ответы [ 3 ]

8 голосов
/ 04 июля 2010

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

if (c == '\\')

Смотри также:

4 голосов
/ 04 июля 2010

Вы можете также рассмотреть возможность использования методов 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("\\"));
            }
        }
    }

}
3 голосов
/ 04 июля 2010

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

final char[] chars = strLine.toCharArray();
for (int i = 0; i < chars.length; i++) {
    if (chars[i] == '\\') {
        // is a backslash
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...