开发者社区> 问答> 正文

怎样获取字符串中指定单词的开始和结束位置?

有一个较长的String字符串 还有有一个String单词数组
要查找单词数组里的每一个单词在字符串中的位置(int start和int end)。
比如单词为:Hi
字符串为:Hi,I am Mark.
那么Hi的start为1 end为2
有没有什么算法可以比较好的做出来?
需求:有个单词数组。要将单词数组里的单词在字符串中显示高亮。
发现:SpannableStringBuilder里有个setSpan可以做到。
但setSpan需要设置高亮的单词的int strart和int end..
想知道程序该怎么写.

展开
收起
蛮大人123 2016-03-18 15:43:43 3860 0
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪

    int indexOf(int ch,int fromIndex)函数:就是字符ch在字串fromindex位后出现的第一个位置.没有找到返加-1
    eg:`String str="a2dfcfar1bzvb";
    System.out.println(str.indexOf(97,2)); `

    看这个例子,输出:6
    a的ASCII为97,就从d开始找a找到了输出a所在字符串的确切位置,找不到就输出-1!(Java中位置第一个从0开始)
    String.indexOf函数用法小结

    1. indexOf的参数是String, startIndex: Number;

      indexOf的返回值为int,
    2. Function indexOf 包含如下几个格式:
      1). Strng.indexOf(substring) //搜索String中的substring,默认从0位开始;

    2). String.indexOf(substring, int m) //搜索String中的substring, 默认从第m位开始;

    2019-07-17 19:06:53
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载