Я должен проверить на последовательности символов как \chapter {Введение} от строк, считанных из файла. Чтобы сделать это, я должен сначала проверить на происшествие обратной косой черты.
Это - то, что я сделал
final char[] chars = strLine.toCharArray();
char c;
for(int i = 0; i<chars.length; i++ ){
c = chars[i];
if(c == '\' ) {
}
}
Но обратную косую черту рассматривают как escape-последовательность, а не символ.
Любая справка о том, как к этому очень ценился бы.
Обратная косая черта является управляющим символом. Если вы хотите изобразить настоящий обратный слеш, вам нужно использовать два обратных слеша (тогда он сам себя экранирует). Кроме того, символы нужно обозначать одинарными, а не двойными кавычками. Итак, это должно работать:
if (c == '\\')
Вы также можете рассмотреть возможность использования методов 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("\\"));
}
}
}
}
Символ обратной косой черты может быть представлен в исходном коде Java как '\\\'
.
final char[] chars = strLine.toCharArray();
for (int i = 0; i < chars.length; i++) {
if (chars[i] == '\\') {
// is a backslash
}
}