java中indexOf()获取指定次数的下标
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()获取指定次数的下标的更多相关文章
- JAVA中如何获取变量的类型
JAVA中如何获取变量的类型? package xiya; public class Demo { public static void main(String[] args) { String ty ...
- Java中动态获取项目根目录的绝对路径
https://www.cnblogs.com/zhouqing/archive/2012/11/10/2757774.html 序言 在开发过程中经常会用到读写文件,其中就必然涉及路径问题.使用固定 ...
- java中indexOf()
Java中字符串中子串的查找共有四种方法,如下:1.int indexOf(String str) :返回第一次出现的指定子字符串在此字符串中的索引. 2.int indexOf(String str ...
- Java中indexof()的使用
Java中字符串中子串的查找共有四种方法(indexof()) indexOf 方法返回一个整数值,指出 String 对象内子字符串的开始位置.如果没有找到子字符串,则返回-1. 如果 starti ...
- java中如何获取昨天的当前日期
在java里,获取昨天的当前日期,可以采用calendar来做,也可以采用date来做:如下: 1.采用calendar来做: Calendar cal=Calendar.getInstance(); ...
- Java中如何获取一个类中泛型的实际类型
本文链接:https://blog.csdn.net/kuuumo/article/details/83021158 _______________________________________ ...
- 在JAVA中如何获取当前源文件名以及代码的行号
在最近经历中,遇见了这样一个问题,如何获取当前源文件名以及代码的行号,只是了解到C语言有预定义宏__FILE__.__LINE__,它们在预处理的时候都已经确定好了,但是在JAVA中应该怎么获取输出呢 ...
- java Calendar Date 获取指定日期所在月或年的第一天和最后一天
一.获取传入日期所在月的第一天 public static Date getFirstDayDateOfMonth(final Date date) { final Calendar cal = Ca ...
- 【Java基础】Java中如何获取一个类中泛型的实际类型
泛型的术语 <>: 念做typeof List<E>: E称为类型参数变量 ArrayList<Integer>: Integer称为实际类型参数 ArrayLis ...
- ThinkPHP中如何获取指定日期后工作日的具体日期
思路: 1.获取到查询年份内所有工作日数据数组2.获取到查询开始日期在工作日的索引3.计算需查询日期索引4.获得查询日期 /*创建日期类型记录表格*/ CREATE TABLE `tb_workday ...
随机推荐
- javaEE(单元测试、反射、动态代理、xml)
单元测试 最小的功能单元编写测试代码,java针对方法,检查方法的正确性 JUnit单元测试框架 @Test注解 public class A { @Test public void a(){ ... ...
- Training Spiking Neural Networks with Local Tandem Learning
郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! 36th Conference on Neural Information Processing Systems (NeurIPS 202 ...
- JZOJ 2020.02.01【NOIP提高组】模拟A 组
2020.02.01[NOIP提高组]模拟A 组 二月份第一场比赛 闲话 惨烈啊! 50+30+0=80分 一题都没A 唉 最高150? \(zzh\) 暴虐A组 总结: 若干新东西 \(T1\) 我 ...
- JZOJ.4724 斐波那契
\(\text{Problem}\) \(\text{Solution}\) \(\text{Fibonacci}\) 数列有一个性质:若 \(H_1=a,H_2=b,H_n=H_{n-2}+H_{n ...
- bootstrap怎么让手机端电脑端自适应显示隐藏元素
我用的是bootstrap v3 这是电脑端: 这是手机端: 其实很简单:我用的 visible-lg 弄了半天才发现md是中等屏幕可见,所以要用lg 代码如下: 一行一共是12,我这里有3个元素,所 ...
- Vulhub 漏洞学习之:ECShop
Vulhub 漏洞学习之:ECShop 目录 Vulhub 漏洞学习之:ECShop 1 ECShop 2.x/3.x SQL注入/远程命令执行漏洞 1.1 环境安装 1.2 漏洞产生原因 1.3 漏 ...
- 疑问:如何替代dtb文件
学习设备树,想添加自己定义的节点,编译好了,但不知道如何替代原来的dtb文件
- docker安装xxl-job-admin
拉取镜像 docker pull xuxueli/xxl-job-admin:2.3.1 运行容器 docker run -d -e PARAMS=" --spring.datasource ...
- @FileLimit – AOP最佳实践:上传文件大小限制
@FileLimit 结构分析 1.FileLimitUnit 定义枚举:文件的单位 public enum FileLimitUnit { KB, MB, GB } 2.定义注解 import or ...
- Mybatis-Plus 之BaseMapper 方法详解
package com.itheima.dao; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomido ...