赞
踩
1.按下标查找
char charAt(int index)
返回index位置上字符,如果index为负数或者越界,抛出IndexOutOfBoundsException
异常
public class Test {
public static void main(String[] args) {
String name = "baixian";
for (int i = 0; i < name.length(); i++) {
System.out.println(name.charAt(i));//下标从0开始
}
}
}
结果是
b
a
i
x
i
a
n
String.java中对该方法定义如下
public char charAt(int index) {
if ((index < 0) || (index >= value.length)) {
throw new StringIndexOutOfBoundsException(index);//越界,扔出警告
}
return value[index];//如果没错,就返回字符数组对应下标的元素
}
2.按字符查找
public class Test {
public static void main(String[] args) {
String name = "baixian";
System.out.println(name.indexOf('a'));//打印值为1
System.out.println(name.indexOf('a',2));//从下标2的位置开始遍历,打印值为5
System.out.println(name.indexOf("ai"));//在"baixian"主串中寻找子串(默认从0下标开始),返回子串的首字母所在的下标,打印值为1
System.out.println(name.indexOf("ai",3));//在"baixian"主串中从3下标开始寻找子串,返回子串的首字母所在的下标,打印值为-1
}
}
String.java中对该方法定义如下
public int indexOf(int ch) {
return indexOf(ch, 0);
}
public int indexOf(int ch, int fromIndex) {//fromInde表示起始下标 final int max = value.length; if (fromIndex < 0) {//起始下标小于0默认从从0开始 fromIndex = 0; } else if (fromIndex >= max) {//起始下标大于字符串长度,返回-1 // Note: fromIndex might be near -1>>>1. return -1; } if (ch < Character.MIN_SUPPLEMENTARY_CODE_POINT) { // handle most cases here (ch is a BMP code point or a // negative value (invalid code point)) final char[] value = this.value; for (int i = fromIndex; i < max; i++) {//遍历寻找 if (value[i] == ch) { return i; } } return -1; } else { return indexOfSupplementary(ch, fromIndex); } }
public int indexOf(String str, int fromIndex) {
return indexOf(value, 0, value.length,
str.value, 0, str.value.length, fromIndex);
}
当然还有,这里就不一一列举出来了。
3.int lastIndexOf()
int lastIndexOf(int ch)
从后往前找,返回ch第一次出现的位置,没有返回-1
int lastIndexOf(int ch, int fromIndex)
从fromIndex位置开始找,从后往前找ch第一次出现的位置,没有返回-1
int lastIndexOf(String str)
从后往前找,返回str第一次出现的位置,没有返回-1
int lastIndexOf(String str, intfromIndex)
从fromIndex位置开始找,从后往前找str第一次出现的位置,没有返
回-1
public class Test {
public static void main(String[] args) {
String name = "baixian";
System.out.println(name.lastIndexOf('a'));
System.out.println(name.lastIndexOf('a',6));
System.out.println(name.lastIndexOf("ai"));
System.out.println(name.lastIndexOf("ai",4));
}
}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。