【发布时间】:2011-12-11 20:19:20
【问题描述】:
我需要在一个句子中找到整个单词,但不使用正则表达式。所以如果我想在这句话中找到“the”这个词:“The quick brown fox jumps over the lazy dog”,我目前正在使用:
String text = "the, quick brown fox jumps over the lazy dog";
String keyword = "the";
Matcher matcher = Pattern.compile("\\b"+keyword+"\\b").matcher(text);
Boolean contains = matcher.find();
但如果我使用:
Boolean contains = text.contains(keyword);
并用空格填充关键字,它不会找到句子中的第一个“the”,因为它没有环绕空格和标点符号。
需要明确的是,我正在构建一个 Android 应用程序,但我遇到了内存泄漏,这可能是因为我在 ListView 中使用了正则表达式,所以它正在执行正则表达式匹配 X 个次,具体取决于 Listview 中的项目。
【问题讨论】:
-
出于某种原因你需要空格吗?
-
“不使用正则表达式”。因为教练禁止你这样做?如果是这种情况,请添加“作业”标签。
-
您也可以在字符串中添加空格以进行搜索。
-
您不能使用正则表达式有什么特殊原因吗?
-
如果这个问题是this one 的后续问题,请返回并在那里查看我的答案。你可以使用正则表达式来解决这个问题,这比你在这里尝试做的要容易得多。