如何检测字符串是否以标点符号结尾?

时间:2014-06-20 18:58:45

标签: java

正如标题所说,如何在JAVA中做到这一点?

例如,

String example="Hello?";

字符串末尾包含?,我需要使用JAVA检测它。

编辑我需要检测所有标点符号,而不仅仅是?

3 个答案:

答案 0 :(得分:3)

您可以使用正则表达式及其预定义的\p{Punct}类来表示其中一个  !"#$%&'()*+,-./:;<=>?@[]^_`{|}~个字符。只需使用

if (yourString.matches(".*\\p{Punct}");

由于matches检查整个字符串是否可以与正则表达式匹配,因此您需要让它在标点符号之前匹配字符。为此,您可以使用.* .表示任何字符(新行除外),*表示零次或多次出现。

如果您不想包含\p{Punct}中的所有字符,则可以使用例如[.?!]定义您自己的character class,以仅匹配. {{1 }} ?

答案 1 :(得分:1)

获取字符串的最后一个字符并使用正则表达式对其进行验证。

答案 2 :(得分:-2)

使用endsWith(char)

example.endsWith('?')