如何获取某个字符在字符串中的位置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何获取某个字符在字符串中的位置相关的知识,希望对你有一定的参考价值。

Java中字符串中子串的查找共有四种方法(indexof())
Java中字符串中子串的查找共有四种方法,如下:
1、int indexOf(String str) :返回第一次出现的指定子字符串在此字符串中的索引。
2、int indexOf(String str, int startIndex):从指定的索引处开始,返回第一次出现的指定子字符串在此字符串中的索引。
3、int lastIndexOf(String str) :返回在此字符串中最右边出现的指定子字符串的索引。
4、int lastIndexOf(String str, int startIndex) :从指定的索引处开始向后搜索,返回在此字符串中最后一次出现的指定子字符串的索引。
indexof()用法说明
indexof()
返回 String 对象内第一次出现子字符串的字符位置。
参考技术A for循环,比较字符串a中字符a(i)是否等于指定字符,等于的话i为指定字符的位置本回答被提问者采纳 参考技术B 你用的啥语言?不同的方法啊。

java中如何获取某个字符在另一个字符串中的全部索引值

例如
获取字符串“爱新觉罗是谁啊爱何为爱为什么呢爱新觉罗”中的“爱”字的所有位置?
我所强调的是字符串中的每一个“爱”字都必须返回索引值

参考技术A

你查下java的API,里面Sting类里有个

indexOf()方法可以查找的里面的第一次出现的位置的。 具体看我传的图。

希望对你有用。 找到后用subString()截取后面的继续查找。

参考技术B public static void main(String args[])
String s = "爱新觉罗是谁啊爱何为爱为什么呢爱新觉罗";

String t = "爱";
for(int i = 0; i < s.length(); i ++)
int a = s.indexOf(t, i);
if(a < 0)
break;

System.out.println(a);
i = a;

参考技术C 最笨的方法,但是也是最有效的方法:
public static void main(String[] args)
String str ="爱新觉罗是谁啊爱何为爱为什么呢爱新觉罗";
int len = str.length();
int count = 0 ;
for(int i =0 ; i< len ; i++)
String temp = str.charAt(i)+"";
if(temp.equals("爱"))
System.out.println("出现在第:"+(i+1)+"个索引位置");
count++;


System.out.println("共出现次数:"+count);


不是已经有索引了吗 自己运行一下看看。

以上是关于如何获取某个字符在字符串中的位置的主要内容,如果未能解决你的问题,请参考以下文章

java中如何获取某个字符在另一个字符串中的全部索引值

如何取一个字符串遇到某个字符之前的部分?

java如何获取字符位置?

c# 怎样获取string的某个字符最后一位的位置!

在Javascript中如何修改字符串中的某个字符?

如何获得CString 对象中的每个字符