java - 在java中使用 "%"、 "?"和 "#"查找子字符串

标签 java string contains

我正在尝试以一种更有效的方式来查找字符串中的元素,而不是将句子转换为字符数组,然后将其与其他文本片段进行比较,如果可以的话请告诉我您可能知道还有其他方法可以做到这一点,

我需要的是

boolean 值 b = myString.contains(important%urgent);

这应该不同于:

boolean 值 b = myString.contains(urgent%important);

在前面的情况下,如果单词包含在字符串中并且它们遵循特定的顺序,我希望获得 True 值。

下一个是?

boolean 值 b myString.contains(friend?);//这将查找“ friend ”和“ friend ”左右

最后一个#

Boolean b myString.equals(#/#/2013 #:#:#);//如果日期是 2013 年,则返回 true

我希望我能够解释自己,谢谢您的回答。

最佳答案

你想要正则表达式!

要检查词序:

Boolean b = myString.matches(".*important.*urgent.*");

注意,要严格对待“单词”(即不匹配“不重要”),请添加单词边界:

Boolean b = myString.matches(".*\\bimportant\\b.*\\burgent\\b.*");

要检查单词末尾的可选“s”:

Boolean b = myString.matches(".*friends?.*");

再次强调,要严格,不要匹配“友好”,请添加单词边界:

Boolean b = myString.matches(".*\\bfriends?\\b.*");

检查数字:

Boolean b = myString.matches("\\d+/\\d+/2013 \\d+:\\d+:\\d+");

关于java - 在java中使用 "%"、 "?"和 "#"查找子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20589764/

相关文章:

java - JBoss EAP 7(beta) 找不到 tomcat jar

java - 带有链表实现和存储文本文件的哈希表

java - 我可以避免使用正则表达式从 int 数组中查找整数值吗?

java - 字符串#split。限制参数的副作用

swift - 如何在 Swift 中对字典进行排序

java - 检查一个对象是否是给定类名列表的实例

c++ - 解析定界字符串

python - 如何拆分字符串分隔的数字

java - 为什么 ArrayList contains() 方法不适用于对象?

sql - Postgresql 包含在 where 子句中