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());
}
}
}
分享到:
相关推荐
Java中的数组和字符串是编程中基础且重要的概念,它们在许多场景中都有广泛的应用。数组是一种数据结构,它能够存储相同类型的数据集合,而字符串则是字符的序列,常常用于处理文本信息。 数组在Java中是一种引用...
本实例“Java字符串详解 Java实例20”将深入探讨Java中的字符串处理机制,包括其创建、操作以及性能优化等方面的知识。 一、字符串的创建与初始化 在Java中,字符串是对象,它们被封装在`String`类中。字符串可以...
在Java编程语言中,字符串是极其重要且常用的数据类型,用于存储和操作文本。字符串类`String`在Java中有着丰富的内置方法,使得开发者能够高效地处理字符串。本资料"java常用字符串方法网络收集txt版"很可能是对...
字符串是字符序列的集合,Java中使用`String`类表示字符串。 1. **字符串的创建**: - 使用双引号直接创建字符串,例如,`String str = "Hello";` 或者使用`new String()`构造函数创建字符串对象。 2. **字符串...
字符串提供多种方法来处理文本,如`concat()`连接字符串、`substring()`获取子串、`indexOf()`查找字符位置等。 #### 总结 数组、向量和字符串是Java中非常重要的数据结构,掌握它们的使用是Java编程的基础。数组...
Java程序设计中,数组和字符串是两个非常重要的概念,本章节将对数组和字符串的定义、特点、操作和应用进行详细的介绍。 一、数组 数组是相同类型数据的有序集合,在内存中连续存放。数组可以是整型、浮点型、字符...
Java字符串和数组是Java编程语言中的基本概念,对于任何Java开发者来说,理解和掌握它们都是至关重要的。在这21页的PDF教程中,我们很可能会深入探讨这两个核心主题。 首先,让我们来谈谈Java中的字符串。在Java中...
- **substring(int index)**:返回从指定位置开始到字符串末尾的子字符串。 - **String(char[] arr)**:用字符数组创建字符串。 #### StringBuffer与StringBuilder `StringBuffer`和`StringBuilder`提供了动态修改...
例如,`String.split().stream()`可以将字符串分割后的数组转换为流,然后通过`map()`、`filter()`等方法进行进一步处理,最后用`collect()`方法将结果收集到新的集合中。 总之,这个"Java字符串及数组操作的实例...
4. **字符串查找与替换**:实现查找特定子串在字符串中的位置,或者替换字符串中的某些部分。可以学习KMP算法或Boyer-Moore算法等高级搜索技术。 5. **字符编码**:理解ASCII码、Unicode和UTF-8等字符编码体系,...
Java 泛型集合和Java集合框架是Java编程中不可或缺的部分,它们为开发者提供了高效的数据存储和操作机制。本文将深入探讨这两个主题,并着重讲解`Collection`接口及其在Java中的应用。 首先,Java泛型是一种在编译...
数组是一种有序的数据集合,可以存储相同类型的元素,而字符串则被视为字符数组,是处理文本信息的核心工具。 ### 1. 数组 #### 1.1 数组的定义与操作 数组是由相同类型的数据组成的固定大小的序列,可以通过索...
例如,要查找字符串"bull",从根节点开始,根据字符顺序查找对应的子节点。在根节点中查找('b'-'a'+1)号子节点,即第1号子节点,然后在b节点中查找('u'-'a'+1)号子节点,依此类推,直到找到特殊字符$所在的叶子节点...
`indexOf(字符 | 字符串)` 和 `lastIndexOf(字符 | 字符串)` 查找字符或子字符串的位置。 4. 字符串修改:虽然字符串本身是不可变的,但可以创建新的字符串来实现修改,如转换大小写、去除两端空格、替换字符等。 5....
在Java编程语言中,数组和字符串是两种非常基础且重要的数据结构。数组是存储固定数量相同类型元素的集合,而字符串则是字符类型的数组。在Java第4章中,通常会详细讲解这两种数据结构的使用方法及其特性。 首先,...
在Java编程语言中,统计一个字符串中每个字母的个数是一项基本任务,它涉及到字符串处理和字符遍历。下面我们将详细探讨如何实现这个功能,并扩展到相关的字符串操作和字符统计的知识点。 首先,我们需要理解Java中...
此外,数组只能存储基本类型和引用类型,而集合只存储对象,但通过自动装箱机制,基本类型也可以在集合中使用。 对于TreeSet实现第一题的问题,可以创建一个TreeSet,然后添加Person对象,由于TreeSet会自动根据...
在Java编程语言中,`charAt()`方法是String类的一个核心成员,它用于获取字符串中指定索引位置的字符。当你需要处理字符串中的字符并计算重复字符时,`charAt()`方法可以发挥重要作用。以下是如何利用`charAt()`方法...
在编程中,字符串是常见的数据类型,用于存储和处理文本。字符串剪切通常涉及以下知识点: 1. **字符串定义**:在大多数编程语言中,字符串是由字符组成的序列,可以是单引号或双引号括起来的字符集合。 2. **字符...
例如,使用`join()`方法(Java 11及以上版本)可以方便地将ArrayList中的所有字符串连接成一个字符串: ```java String joinedStr = String.join(",", list); ``` 11. **效率与线程安全**: ArrayList是非线程...