indexOf() :指定字符在此实例中的第一个匹配项的索引。搜索从指定字符位置开始,并检查指定数量的字符位置

Java中提供了四中查找方法:

int indexOf(String str) 返回第一次出现的索引。
int indexOf(String str, int fromIndex)从指定的索引处开始,返回第一次出现的指定子字符串在此字符串中的索引。
int lastIndexOf(String str) 返回在此字符串中最后定子字符串的索引。
int lastIndexOf(String str, int fromIndex)从指定的索引处开始向后搜索,返回在此字符串中最后一次出现的指定子字符串的索引。

那么怎么获取指定次数的下标呢,java并没有直接给我们提供,我们自己去实现一下

    /**
* 方法重载,赋默认值
* @param str
* @param separator
* @return
*/
public static Map indexMapOf(String str, String separator) {
return indexMapOf(str, separator, 0, null, 1);
} /**
* 具体实现方法
* @param str 源字符
* @param separator 分割符
* @param fromIndex 从第几个下标开始
* @param map Map记录次数对应的下标
* @param key 下标从1开始
* @return
*/
public static Map indexMapOf(String str, String separator, Integer fromIndex, Map map, Integer key) {
if (map == null) {
map = new HashMap();
} int index = str.indexOf(separator, fromIndex); if (index > 0) {
System.err.println(separator +"出现的下标:"+index);
map.put(key, index);
indexMapOf(str, separator, ++index, map, ++key);
} return map;
} public static void main(String[] args) {
String str = "abcde$fgh$ijkl$mn$opqrst$uvxy$z";
System.err.println("字符串为:"+str+" 求'$'出现的次数以及下标");
Map<Integer, Integer> m = indexMapOf(str, "$"); System.err.println("map------------");
for (Map.Entry<Integer, Integer> entry : m.entrySet()) {
System.err.println("第"+entry.getKey() + "次 : 下标为" + entry.getValue());
}
System.err.println("-----找第5次出现的下标-----");
System.err.println("第5次indexOf的数值是:" + m.get(5));
}

java中indexOf()获取指定次数的下标的更多相关文章

  1. JAVA中如何获取变量的类型

    JAVA中如何获取变量的类型? package xiya; public class Demo { public static void main(String[] args) { String ty ...

  2. Java中动态获取项目根目录的绝对路径

    https://www.cnblogs.com/zhouqing/archive/2012/11/10/2757774.html 序言 在开发过程中经常会用到读写文件,其中就必然涉及路径问题.使用固定 ...

  3. java中indexOf()

    Java中字符串中子串的查找共有四种方法,如下:1.int indexOf(String str) :返回第一次出现的指定子字符串在此字符串中的索引. 2.int indexOf(String str ...

  4. Java中indexof()的使用

    Java中字符串中子串的查找共有四种方法(indexof()) indexOf 方法返回一个整数值,指出 String 对象内子字符串的开始位置.如果没有找到子字符串,则返回-1. 如果 starti ...

  5. java中如何获取昨天的当前日期

    在java里,获取昨天的当前日期,可以采用calendar来做,也可以采用date来做:如下: 1.采用calendar来做: Calendar cal=Calendar.getInstance(); ...

  6. Java中如何获取一个类中泛型的实际类型

    本文链接:https://blog.csdn.net/kuuumo/article/details/83021158   _______________________________________ ...

  7. 在JAVA中如何获取当前源文件名以及代码的行号

    在最近经历中,遇见了这样一个问题,如何获取当前源文件名以及代码的行号,只是了解到C语言有预定义宏__FILE__.__LINE__,它们在预处理的时候都已经确定好了,但是在JAVA中应该怎么获取输出呢 ...

  8. java Calendar Date 获取指定日期所在月或年的第一天和最后一天

    一.获取传入日期所在月的第一天 public static Date getFirstDayDateOfMonth(final Date date) { final Calendar cal = Ca ...

  9. 【Java基础】Java中如何获取一个类中泛型的实际类型

    泛型的术语 <>: 念做typeof List<E>: E称为类型参数变量 ArrayList<Integer>: Integer称为实际类型参数 ArrayLis ...

  10. ThinkPHP中如何获取指定日期后工作日的具体日期

    思路: 1.获取到查询年份内所有工作日数据数组2.获取到查询开始日期在工作日的索引3.计算需查询日期索引4.获得查询日期 /*创建日期类型记录表格*/ CREATE TABLE `tb_workday ...

随机推荐

  1. javaEE(单元测试、反射、动态代理、xml)

    单元测试 最小的功能单元编写测试代码,java针对方法,检查方法的正确性 JUnit单元测试框架 @Test注解 public class A { @Test public void a(){ ... ...

  2. Training Spiking Neural Networks with Local Tandem Learning

    郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! 36th Conference on Neural Information Processing Systems (NeurIPS 202 ...

  3. JZOJ 2020.02.01【NOIP提高组】模拟A 组

    2020.02.01[NOIP提高组]模拟A 组 二月份第一场比赛 闲话 惨烈啊! 50+30+0=80分 一题都没A 唉 最高150? \(zzh\) 暴虐A组 总结: 若干新东西 \(T1\) 我 ...

  4. JZOJ.4724 斐波那契

    \(\text{Problem}\) \(\text{Solution}\) \(\text{Fibonacci}\) 数列有一个性质:若 \(H_1=a,H_2=b,H_n=H_{n-2}+H_{n ...

  5. bootstrap怎么让手机端电脑端自适应显示隐藏元素

    我用的是bootstrap v3 这是电脑端: 这是手机端: 其实很简单:我用的 visible-lg 弄了半天才发现md是中等屏幕可见,所以要用lg 代码如下: 一行一共是12,我这里有3个元素,所 ...

  6. Vulhub 漏洞学习之:ECShop

    Vulhub 漏洞学习之:ECShop 目录 Vulhub 漏洞学习之:ECShop 1 ECShop 2.x/3.x SQL注入/远程命令执行漏洞 1.1 环境安装 1.2 漏洞产生原因 1.3 漏 ...

  7. 疑问:如何替代dtb文件

    学习设备树,想添加自己定义的节点,编译好了,但不知道如何替代原来的dtb文件

  8. docker安装xxl-job-admin

    拉取镜像 docker pull xuxueli/xxl-job-admin:2.3.1 运行容器 docker run -d -e PARAMS=" --spring.datasource ...

  9. @FileLimit – AOP最佳实践:上传文件大小限制

    @FileLimit 结构分析 1.FileLimitUnit 定义枚举:文件的单位 public enum FileLimitUnit { KB, MB, GB } 2.定义注解 import or ...

  10. Mybatis-Plus 之BaseMapper 方法详解

    package com.itheima.dao; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomido ...