`
jie_bosshr
  • 浏览: 140064 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

java查找字符串将找到的字符串索引位置存储到集合中

阅读更多
package com.hmkcode;

import java.util.ArrayList;
import java.util.List;

public class SearchStr {
	
	/**
	 * 查询字符串searchValue在字符串str中的位置索引(最多查询3位长度字符)
	 * @param str 一组字符串
	 * @param searchValue 要查找的字符串
	 * @return List<Integer> 存储查找的字符串索引
	 */
	public static List<Integer> searchStrIndex(String str,String searchValue){
		//定义存储查找的字符串索引集合
		List<Integer> searchIndexList = new ArrayList<Integer>();
		
		for(int i=0;i<str.length();i++){
			if(searchValue.length()==1){
				String ch1 = String.valueOf(str.charAt(i));
				if(ch1.equals(searchValue)){
					searchIndexList.add(i);
				}
			}else if(searchValue.length()==2){
				String ch1 = String.valueOf(str.charAt(i));
				String ch2;
				if(i<str.length()-1){
					ch2 = String.valueOf(str.charAt(i+1));
					String value = ch1+ch2;
					if(value.equals(searchValue)){
						searchIndexList.add(i);
					}
				}
			}else if(searchValue.length()==3){
				String ch1 = String.valueOf(str.charAt(i));
				String ch2;
				String ch3;
				if(i<str.length()-1){
					ch2 = String.valueOf(str.charAt(i+1));
					if(i<str.length()-2){
						ch3 = String.valueOf(str.charAt(i+2));
						String value = ch1+ch2+ch3;
						System.out.println(value);
						if(value.equals(searchValue)){
							searchIndexList.add(i);
						}
					}
				}
			}
		}
		return searchIndexList;
	}
	
	
	public static void main(String[] args) {
		List<Integer> searchIndexList = searchStrIndex("chabdeab89da+=()hkabd","abd");
		for(Integer index : searchIndexList){
			System.out.println("index:"+index.intValue());
		}
	}

}
分享到:
评论

相关推荐

    微软JavaScript手册

    lastIndex 属性 返回在字符串中找到的最后一个成功匹配的字符位置。 lastIndexOf 方法 返回在 String 对象中最后出现子字符串的位置。 lastMatch 属性 ($) 从任何正则表达式搜索中返回最后匹配的字符。 lastParen...

    Java开发实战1200例(第1卷).(清华出版.李钟尉.陈丹丹).part3

    实例074 将字符串的每个字符进行倒序输出 94 实例075 获取字符串中汉字的个数 94 实例076 批量替换某一类字符串 95 实例077 把异常与错误信息显示到窗体中 97 实例078 从字符串中分离文件路径、 文件名及扩展名 98 ...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    角色是一组权限的集合,将角色赋给一个用户,这个用户就拥有了这个角色中的所有权限。  系统预定义角色 预定义角色是在数据库安装后,系统自动创建的一些常用的角色。下面我们就简单介绍些系统角色:  CONNECT...

    java范例开发大全源代码

     实例42 字符串索引越界异常(StringIndexOutBounds) 60  实例43 操作错误(UnsupportedOperationException) 60  4.2 运行时异常 61  实例44 找不到指定类时发生的异常(ClassNotFoundException) 62 ...

    java范例开发大全

    实例42 字符串索引越界异常(StringIndexOutBounds) 60 实例43 操作错误(UnsupportedOperationException) 60 4.2 运行时异常 61 实例44 找不到指定类时发生的异常(ClassNotFoundException) 62 实例45 请求的...

    Java范例开发大全 (源程序)

     实例42 字符串索引越界异常(StringIndexOutBounds) 60  实例43 操作错误(UnsupportedOperationException) 60  4.2 运行时异常 61  实例44 找不到指定类时发生的异常(ClassNotFoundException) 62  ...

    java开源包11

    JCarder 是一个用来查找多线程应用程序中一些潜在的死锁,通过对 Java 字节码的动态分析来完成死锁分析。 Java的Flash解析、生成器 jActionScript jActionScript 是一个使用了 JavaSWF2 的 Flash 解析器和生成器。...

    java开源包4

    JCarder 是一个用来查找多线程应用程序中一些潜在的死锁,通过对 Java 字节码的动态分析来完成死锁分析。 Java的Flash解析、生成器 jActionScript jActionScript 是一个使用了 JavaSWF2 的 Flash 解析器和生成器。...

    java 面试题 总结

    JAVA平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个String类提供了数值不可改变的字符串。而这个StringBuffer类提供的字符串进行修改。当你知道字符数据要改变...

    java范例开发大全(pdf&源码)

    实例42 字符串索引越界异常(StringIndexOutBounds) 60 实例43 操作错误(UnsupportedOperationException) 60 4.2 运行时异常 61 实例44 找不到指定类时发生的异常(ClassNotFoundException) 62 实例45 请求的...

    Java范例开发大全(全书源程序)

    实例42 字符串索引越界异常(StringIndexOutBounds) 60 实例43 操作错误(UnsupportedOperationException) 60 4.2 运行时异常 61 实例44 找不到指定类时发生的异常(ClassNotFoundException) 62 实例45 请求...

    超级有影响力霸气的Java面试题大全文档

     JAVA平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个String类提供了数值不可改变的字符串。而这个StringBuffer类提供的字符串进行修改。当你知道字符数据要...

    数据结构(C语言版)\Java数据结构和算

    2.7 字符串 2.8 参考文献和选读材料 2.9 补充习题 第3章 栈与队列 3.1 栈 .3.2 动态栈 3.3 队列 3.4 动态循环队列 3.5 迷宫问题 3.6 表达式求值 3.7 多重栈与多重队列 3.8 补充习题 第4章 链表 4.1 ...

    freemarker总结

    2,使用+运算符时,如果一边是数字,一边是字符串,就会自动将数字转换为字符串再连接,如:${3 + "5"},结果是:35 使用内建的int函数可对数值取整,如: ${ (x/2)?int } ${ 1.1?int } ${ 1.999?int } ${ -1.1?int } ...

    Java开发技术大全 电子版

    第5章数组与字符串200 5.1数组200 5.1.1一维数组的声明200 5.1.2一维数组的创建201 5.1.3一维数组的使用202 5.1.4二维数组的声明204 5.1.5二维数组的创建205 5.1.6二维数组的使用207 5.1.7for~each循环208 ...

    MySQL 5.1中文手冊

    8.14. replace:字符串替换实用工具 8.15. mysql_zap:杀死符合某一模式的进程 9. 语言结构 9.1. 文字值 9.1.1. 字符串 9.1.2. 数值 9.1.3. 十六进制值 9.1.4. 布尔值 9.1.5. 位字段值 9.1.6. NULL值 9.2. 数据库、...

Global site tag (gtag.js) - Google Analytics