正如标题所说,如何在JAVA中做到这一点?
例如,
String example="Hello?";
字符串末尾包含?
,我需要使用JAVA检测它。
编辑我需要检测所有标点符号,而不仅仅是?
。
答案 0 :(得分:3)
您可以使用正则表达式及其预定义的\p{Punct}
类来表示其中一个
!"#$%&'()*+,-./:;<=>?@[]^_`{|}~
个字符。只需使用
if (yourString.matches(".*\\p{Punct}");
由于matches
检查整个字符串是否可以与正则表达式匹配,因此您需要让它在标点符号之前匹配字符。为此,您可以使用.*
.
表示任何字符(新行除外),*
表示零次或多次出现。
如果您不想包含\p{Punct}
中的所有字符,则可以使用例如[.?!]
定义您自己的character class,以仅匹配.
{{1 }} ?
。
答案 1 :(得分:1)
获取字符串的最后一个字符并使用正则表达式对其进行验证。
答案 2 :(得分:-2)
example.endsWith('?')