传入一个字符串,输出某个字符或者字符串在传入字符串中的所有位置
来源:互联网 发布:linux下的网络编程 编辑:程序博客网 时间:2024/06/05 17:19
package com.nantongqingniao;import java.util.ArrayList;import java.util.List;public class Snippet { // 传入一个字符串,输出某个字符在传入字符串中的所有位置 public static List<Integer> getIndexsOfStr(String src, char c) { List<Integer> rs = new ArrayList<Integer>(); if (null != src) { char[] cs = src.toCharArray(); for (int i = 0; i < cs.length; i++) { if (cs[i] == c) { rs.add(i); } } }else { System.out.println("传入字符串是不合理的字符串"); } return rs; } // 传入一个字符串,输出某个字符串在传入字符串中的所有位置 public static List<Integer> getIndexsOfStr(String src, String c) { //创建rs集合,用于存储字符串c出现的位置索引 List<Integer> rs = new ArrayList<Integer>(); if (null != src && null != c) { char[] sl = src.toCharArray(); //初始化索引位置为0 int s = 0; //循环索引位置,取出c在传入字符串中的所有位置 while (s < sl.length) { //返回指定子字符串在此字符串中第一次出现处的索引,从索引0开始。 s = src.indexOf(c , s); //判断索引位置是否大于0,如果返回小于0则表示字符串c在传入字符串中不存在,则跳出循环 if (s < 0 ) { System.out.println("该字符串不存在"); break; //如果返回大于0,则表示字符串c在传入字符串中存在,将返回的索引位置s添加到rs集合中 }else { rs.add(s); } //下一次索引位置从上一次索引位置返回值+c字符串的长度开始进行循环 s = s + c.length(); } } else { System.out.println("不合理的字符串"); } return rs; } public static void main(String[] args) { //输出某个字符在传入字符串中的所有位置 List<Integer> indexs = getIndexsOfStr("1a22a3444a4b", 'a'); for (Integer index : indexs) { System.out.print(index + "\t"); } System.out.println(); //输出某个字符串在传入字符串中的所有位置 List<Integer> indexs2 = getIndexsOfStr("1a3a2a2a2a6a2a7a2a", "2a"); for (Integer index : indexs2) { System.out.print(index + "\t"); } }}
阅读全文
0 0
- 传入一个字符串,输出某个字符或者字符串在传入字符串中的所有位置
- 将两个字符串或一个字符串与数组传入一个,输出字符串中需要的字符位置
- 获取某个字符在字符串中的位置
- 传入一个字符串,如何获得这个字符串中所有字符出现的个数
- JAVA传入一个字符串,返回一个字符串中的大写字母
- 传入一个中文字符串,返回一个字符串中的中文拼音
- Split()函数,不传入字符,传入字符串分割字符串
- 查找某个字符在一个字符串中的位置,假设字符串中的字符是有序的,如“adfgikmnprs”中查找g的位置。(折半查找)
- 实现strchr函数(输出一个字符在字符串中的位置)
- java 找出一个字符在 一个字符串中的位置
- java传入一个字符串 将它分割成大写字符为首的字符串数组
- php 中查找某个字符在字符串中出现的所有位置
- 一个字符串分割成多个子字符串传入SQL
- Mysql where in中的参数传入字符串(字符串拼接)
- 获取字符在字符串中的位置
- SQL判断字符在字符串中的位置
- Python:查找字符在字符串中的位置
- mysql:substr() 取出字符串中的某个特定位置的字符
- 静态代码块的执行顺序
- POJ 2406 Power Strings(后缀数组或KMP或扩展KMP)
- 在Matlab下利用VS调试C/C++代码
- Linux系统Java环境安装配置
- 方格取数(1) HDU
- 传入一个字符串,输出某个字符或者字符串在传入字符串中的所有位置
- 11.2
- CVPR 2017 全部及部分论文解读集锦
- 朴素贝叶斯
- 吴恩达深度学习第四课:卷积神经网络(学习笔记2)
- Miller_Rabin素数测试与Pollard_Rho分解质因数
- 百度大脑--二进制图像数据格式转换问题
- 7-1 两个有序链表序列的合并
- 创建4个线程,4个线程同时对一个文件进行修改。线程1负责向文件写入A,线程2负责向文件写入B,线程3负责写入C,线程4负责写入D。最终文件里的内容应该是ABCDABCDABCD....循环10次;