如何在android中使用matches()获取部分字符串

时间:2014-07-17 02:19:50

标签: android string search

我正在开发搜索引擎。

我想使用matches()函数获取字符串的一部分。

例如,

我的关键字是'特定',字符串如下所示。

除非适用法律要求或书面同意,否则软件 根据许可证分发的“按现状”分发, 不附带任何明示或暗示的保证或条件。 有关管理权限的特定语言,请参阅许可证 许可证下的限制。

你可以看到特定的单词在中间,我希望得到10个单词的前向和后向单词,以'specific'为中心......

所以我想要结果,

请参阅许可证以了解管理权限的特定语言

我该怎么做?

2 个答案:

答案 0 :(得分:0)

  1. 将字符串拆分为char [] by''(space)
  2. 迭代数组以匹配关键字
  3. 找到时,获取索引
  4. 获取索引所需的内容
  5. 你可以像str.toCharArray(..)

    那样通过String方法制作1步

答案 1 :(得分:0)

我想到了两种方式。

  1. 搜索"具体",获取它的索引,向前和向前搜索" "或者是字符。
  2. 习惯正则表达式。例如,您可以使用此匹配specific language governing permissions and

    [](?<! ).+[ ]specific[ ](?! ).+[ ](?! ).+[ ](?! ).+[ ](?! ).+[ ] -U

  3. 创建,保留,调试和执行的第一个选项可能要简单得多。 Regex的灵活性很强,但是String.indexOf()的简单操作肯定会更快。

    如果是大学作业,我会做两件事。对于现实世界,我会使用indexOf()操作保持简单高效。

    pd:-U是一个正则表达式修饰符。 Android的大多数与正则表达式相关的函数支持修饰符。