正如标题所说,如何在JAVA中做到这一点?如何检测字符串是否以标点符号结尾?
例如,
String example="Hello?";
该字符串包含?
末,我需要用JAVA检测到它。
编辑我需要检测所有标点符号,不仅仅是?
。
正如标题所说,如何在JAVA中做到这一点?如何检测字符串是否以标点符号结尾?
例如,
String example="Hello?";
该字符串包含?
末,我需要用JAVA检测到它。
编辑我需要检测所有标点符号,不仅仅是?
。
您可以使用正则表达式和其预定\p{Punct}
类,它代表的
!"#$%&'()*+,-./:;<=>[email protected][]^_`{|}~
的人物之一。只需使用
if (yourString.matches(".*\\p{Punct}");
由于matches
检查整个字符串可以用正则表达式匹配,你需要让它标点符号之前也匹配字符。为此,您可以使用.*
,其中.
表示任何字符(除了新行),并且*
表示零次或多次出现。
如果您不希望包括来自\p{Punct}
可以使用例如[.?!]
只匹配.
?
!
定义自己的character class所有字符。
example.endsWith('?')
获取字符串的最后一个字符并使用正则表达式进行验证。
这听起来像你需要把你的问题分成两个阶段。首先,你如何检测一个特定的标点符号 - 例如问号?下面的答案可以指导你在那里。其次,你如何以程序化的方式多次应用这种方法来处理不同的商标(不必重复自己太多)?您可能想要查找控制流结构(如循环)以帮助您。 – CosmicComputer
正如我在问题中所说的,如果最后一个字符是标点符号,我需要返回true,否则返回false。我不是你的答案可以使用的东西。 –
他的回答可以使用。 将字符串的末尾与标点符号的矢量进行比较。如果它是真的,然后返回它。 他建议您创建一个方法,以便您可以重用它并使用控制流来遍历该向量。 –