Как проверить, содержит ли строка определенный символ. У меня есть строка вроде 1244445g или 1234G555 или 1234566R или R1234556. Я хочу проверить, имеет ли строка g/G или R/r, как это проверить?Строка содержит
Спасибо,
Как проверить, содержит ли строка определенный символ. У меня есть строка вроде 1244445g или 1234G555 или 1234566R или R1234556. Я хочу проверить, имеет ли строка g/G или R/r, как это проверить?Строка содержит
Спасибо,
взглянуть на Java Doc и найти методы, которые класс строки предлагают как
String.contains(CharSequence c)
JAVA DOC: Class String - Contains
Просто используйте
String s = "abcdg/Gefgh";
boolean b = s.contains("g/G");
к проверьте, включена ли указанная последовательность символов в файл sourc e строка.
EDIT:
В случае, если ваш ищет один конкретный символ (либо в верхнем регистре, либо в нижнем регистре), вы можете сделать то же самое только дважды:
c.contains("g");
c.contains("G");
Я думаю, он хочет проверить капитал или не капитал g – Miquel
@Miquel Я думаю, что он будет работать и для поиска символов? см. edit .. –
уверен, что это тоже будет работать, я просто придирчивый из-за длины и сложности 'indexOf (char)' vs 'содержит (CharSequence)', который в конечном итоге является регулярным 'contains (String) 'поиск и немного более дорогостоящий. Вероятно, это не имеет никакого отношения к ОП. – Miquel
С подобными вещами наилучшим подходом является проверка javadoc для класса, с которым вы работаете. В этом случае это String, поэтому посмотрите here. Затем найдите функцию, которая выполняет трюк, например, в этом случае indexOf. Это будет искать первое появление char, поэтому оно либо вернется туда, где оно происходит, либо -1, если оно не найдено.
Если вы хотите найти верхний или нижний регистр, вы можете сделать это по возврату toLowerCase()
, или вы можете посмотреть в регулярное выражение.
Кроме того, подумайте о том, чтобы немного поработать или даже проверить похожие вопросы в stackoverflow в следующий раз. Вы спасете время каждого, включая себя!
String[] strArr = {"1244445g","1234G555","1234566R","R1234556"};
for (String str in strArr) {
if (str.contains("g") || str.contains("G") || str.contains("r") || str.contains("R")) {
System.out.println(str + " : YES");
} else {
System.out.println(str + " : NO");
}
}
Вы даже посмотрели на javadoc для java.lang.String? –
Ожидаем ли мы преподавать основы Java? –
у вас было так много отзывов .. разве вы не принимали бы один ответ? –