제목이 말했듯이, 어떻게 JAVA에서 그것을 할 수 있습니까? 예를 들어문자열이 문장 부호로 끝나는 지 어떻게 알 수 있습니까?
, 말
String example="Hello?";
문자열이 포함 ?
, 나는 자바를 사용하여 감지해야합니다.
편집 ?
뿐만 아니라 모든 구두점을 감지해야합니다.
제목이 말했듯이, 어떻게 JAVA에서 그것을 할 수 있습니까? 예를 들어문자열이 문장 부호로 끝나는 지 어떻게 알 수 있습니까?
, 말
String example="Hello?";
문자열이 포함 ?
, 나는 자바를 사용하여 감지해야합니다.
편집 ?
뿐만 아니라 모든 구두점을 감지해야합니다.
당신은 정규식과
!"#$%&'()*+,-./:;<=>[email protected][]^_`{|}~
문자 중 하나를 나타냅니다 사전 정의 된 \p{Punct}
클래스를 사용할 수 있습니다. 전체 문자열이 당신은 또한 구두점 전에 문자와 일치 할 필요가 정규식과 일치 할 수 있다면 그냥
if (yourString.matches(".*\\p{Punct}");
matches
이후 검사를 사용합니다. 이렇게하려면 .*
을 사용할 수 있습니다. 여기서 .
은 새 문자를 제외한 모든 문자를 나타내며 *
은 0 회 이상을 의미합니다.
당신은 .
?
!
에 맞게 예를 [.?!]
에 대한 사용하여 자신의 character class를 정의 할 수 있습니다 \p{Punct}
에서 모든 문자를 포함하지 않는 경우
example.endsWith('?')
"?"에 대해서만 아니오. 모든 구두점이 발견되면이를 찾아야합니다. –
이고 모든 구두점이 표시되지 않습니다. – NimChimpsky
전체 솔루션이 아닌 사용할 수있는 예입니다. –
문자열의 마지막 문자를 가져 와서 정규 표현식을 사용하여 유효성을 검사하십시오.
문제를 두 단계로 나눌 필요가있는 것 같습니다. 먼저 물음표와 같은 특정 구두점을 어떻게 감지 할 수 있습니까? 아래 답변을 통해 도움을 얻을 수 있습니다. 둘째,이 방법을 프로그래밍 방식으로 다른 마크에 여러 번 적용 할 수 있습니까? 루프와 같은 제어 흐름 구조를 참조하여 도움을받을 수 있습니다. – CosmicComputer
내가 질문에서 말했듯이, 마지막 문자가 구두점이면, 나는 true를, 그렇지 않으면 false를 돌려 줄 필요가있다. 나는 당신의 대답을 사용할 수있는 것은 아닙니다. –
그의 대답을 사용할 수 있습니다. . 자열의 끝을 구두점의 벡터와 비교하십시오. 그것이 사실이라면 그것을 돌려 보내십시오. 그는 재사용하고 컨트롤 플로우를 사용하여 벡터를 반복 할 수 있도록 메소드를 생성 할 것을 제안합니다. –