java获取字符位置

假如有一个字符串 “abc,def,ghi,jkl”
用indexOf(",")能够查找到第一个“,”号所在的位置 但如果我要查找第二个和第三个的“,”的位置要如何实现呢

给你三个方法。都能找出其位置并打印出结果
// 1.使用正则表达式方法
Pattern p = Pattern.compile(",");
String s1 = "abc,,de,f,g,hi,jkl";
Matcher m = p.matcher(s1);
// 将所有匹配的","的位置都打印出来,并统计次数
int cnt1 = 0;
while (m.find()) {
cnt1++;
System.out.println(m.start());
}
System.out.println("使用第1次方法检测出的,出现次数: " + cnt1);

// 2.使用String自带的indexOf方法
String s2 = s1;
int pos = 0;
int cnt2 = 0;
while (pos < s2.length()) {
pos = s2.indexOf(',', pos);
if (pos == -1) {
break;
} else {
cnt2++;
System.out.println(pos);
pos++;
}
}
System.out.println("使用第2次方法检测出的,出现次数: " + cnt2);

// 3.取出字符串String的每个字符逐一比较
String s3 = s1;
int cnt3 = 0;
for (int i = 0; i < s3.length(); i++) {
if (s3.charAt(i) == ',') {
cnt3++;
System.out.println(i);
}
}
System.out.println("使用第3次方法检测出的,出现次数: " + cnt3);
温馨提示:内容为网友见解,仅供参考
第1个回答  2018-07-28

Java中String提供的常用操作函数:char charAt(int index)。返回指定索引处的 char 值。

具体操作:

条件是:

(index = str1.indexOf(str2, index + 1)) >= 0 str1.indexOf(str2, index + 1) 查出str2从左到右第一次出现的位置, index = str1.indexOf(str2, index + 1) 将位置赋值给index变量。

下次循环开始时,因为str1.indexOf(str2, index + 1)第二个参数是index+1,所以从str2第一次出现的位置的下一位开始再找出匹配的字符串。

Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。

本回答被网友采纳
第2个回答  推荐于2017-09-25
.indexOf(',',从第几个位置再找!);

indexOf(","); 得到的是4,
indexOf(',',4);得到的就是8
下一个就是indexOf(',',8)本回答被提问者采纳
第3个回答  推荐于2017-10-15
Java中String提供的常用操作函数:
char charAt(int index)
返回指定索引处的 char 值。

java 中charAt()
在Java中,charAt()是一个关键的方法,它用于获取字符串中特定位置的字符。此方法定义在接口 CharSequence 的实现类中,如 String 类。它接受一个整数参数 index,这个 index 表示字符在字符串中的位置,索引从0开始,0代表字符串的第一个字符,1代表第二个字符,依此类推,这种规则类似于数组的索引...

java如何获取字符位置?
Java中String提供的常用操作函数:char charAt(int index)。返回指定索引处的 char 值。具体操作:条件是:(index = str1.indexOf(str2, index + 1)) >= 0 str1.indexOf(str2, index + 1) 查出str2从左到右第一次出现的位置, index = str1.indexOf(str2, index + 1) 将位置赋值给i...

java 怎么获得字符串中某一字符的位置
在java中使用indexOf方法即可获得字符串中某一字符的位置,例如String str="abcdef",System.out.println(str.indexOf("c"))。Java中常用字符串方法有:1、获取长度:.length();\/\/这与数组中的获取长度不同 2、比较字符串:(1) equals() \/\/判断内容是否相同 (2)compareTo() \/\/判断字符串的大...

java中charAt是什么意思
在Java中,`charAt`是一个非常实用的方法,它存在于`CharSequence`接口中,用于获取字符串中特定位置的字符。这个方法接收一个整数参数`index`,该参数表示你想要访问的字符在字符串中的位置,位置索引从0开始计数。例如,索引0代表字符串的第一个字符,索引1代表第二个字符,以此类推,这与数组的索引概...

java中的substring
如果`start`或`end`位置是负数,同样会从字符串的末尾开始计算位置。需要注意的是,起始位置`start`应该小于或等于结束位置`end`。否则,会抛出`IndexOutOfBoundsException`异常。这个方法在Java编程中非常有用,特别是在处理文本数据时。通过substring方法,我们可以很容易地获取字符串的一部分,进行进一步的...

java怎么获取字符串中指定的值?
在Java中获取字符串中指定的值可以使用以下几种方式:点击学习大厂名师精品课1.使用substring()方法可以使用String类提供的substring(intbeginIndex,intendIndex)方法,从原始字符串中截取出指定范围的字符子串。beginIndex表示截取的起始位置,endIndex表示结束位置(不包含)。2.使用StringUtils类可以使用Apache...

JAVA String.CharAt(index)返回的是什么类型?
在Java编程语言中,String类的CharAt(index)方法用于获取字符串中指定位置的字符。例如,String s = "9387432"; int i = s.CharAt(3);。在这个例子中,CharAt(3)返回的是字符类型。这是因为Java中的字符串是由字符组成的。虽然返回的是字符类型,但Java的自动类型转换规则允许字符自动转换为其他类型...

java 查找字符串的位置
import java.util.Scanner;public class FindIndex { public static void main(String[] args) { System.out.println("请输入字符串:");Scanner in=new Scanner(System.in);String str=in.nextLine();System.out.println("请输入要查找的字符:");char c=in.nextLine().charAt(0);StringBuffer ...

JAVA字符串中取特定字符的位置
int indexOf(int ch, int fromIndex)返回在此字符串中第一次出现指定字符处的索引,从指定的索引开始搜索。int indexOf(String str)返回指定子字符串在此字符串中第一次出现处的索引。int indexOf(String str, int fromIndex)返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引开始。

java中如何高效获得字符串中特定字符的所有位置?
你试下下面的代码能满意吗 ,我已经试过了,可以的:\\x0d\\x0a public static void main(String args[]) {\\x0d\\x0aString str = "12&32&位置&yutye";\\x0d\\x0aSystem.out.println("&在字符串中出现的位置分别为:");\\x0d\\x0afor(int i=-1; i<=str.lastIndexOf("&");++i)\\...

相似回答