转自:https://blog.csdn.net/kaishizhangcheng/article/details/52332543
int indexOf(String str)
该方法用于返回当给定字符串在当前字符串中的位置,若当前字符串不包含给定字符串则返回-1。
重载的方法
int indexOf(String str,int formIndex),从指定下标处(包含)查询子串,返回返回当给定字符串在当前字符串中的位置,若当前字符串不包含给定字符串则返回-1。
相关的方法
int lastIndexOf(String str),该方法用于返回子字符串在该字符串中最后一次出现的下标。
-
/**
-
* int indexOf(String str)
-
* 返回当给定字符串在当前字符串中的位置
-
* 若当前字符串不包含给定字符串则返回-1
-
* 重载的方法
-
* int indexOf(String str,int formIndex)
-
* @author zc
-
*/
-
-
public void testIndexOf(){
-
// 0123456789012345
-
String str= "thinking in java";
-
//查找in
-
int index=str.indexOf( "in");
-
System.out.println(index); //2
-
int index2=str.indexOf( "ja");
-
int index3=str.indexOf( "java");
-
System.out.println(index2); //12
-
System.out.println(index3); //12
-
if(str.indexOf( "java")!=- 1){
-
String str2=str.replace( "ja", "jaaa"); //thinking in jaaava
-
System.out.println(str2);
-
}
-
//重载 indexOf(str,包含的起始下标),下标可越界
-
int index4=str.indexOf( "ja", 16);
-
System.out.println( "重载的indexOf:"+index4);
-
//lastIndexOf()
-
int index5=str.lastIndexOf( "i");
-
System.out.println( "最后一个i的下标:"+index5);
-
}
String substring(int start,int end)
截取字符串,传入的两个参数分别为要截取边界的下标。
在java api 中,通常使用两个数字表示范围时,都是含头不含尾,即包含起始下标对应的内容,但不包含结束下标的处对应的内容。
-
public static void main(String[] args) {
-
//使用该方法截取域名
-
String str= "http://www.abcde.cn";
-
String name=str.substring( 11, 15);
-
System.out.println(name);
-
-
//重载 substring(int index):从该下标到结束
-
name=str.substring( 11);
-
System.out.println(name);
-
-
//截取域名
-
int point=str.indexOf( ".");
-
int end=str.lastIndexOf( ".");
-
String name1=str.substring(point+ 1,end);
-
System.out.println(name1);
-
}
-
-
-
public void test01(){
-
String str2= "http://www.abc.com.cn";
-
int start=str2.indexOf( ".")+ 1;
-
int end=str2.indexOf( ".",start);
-
String name=str2.substring(start,end);
-
System.out.println(name);
-
}
String trim()
去除一个字符串两边的空白字符(如空格,tab)
-
String str= " hello ";
-
String trim=str.trim();
-
System.out.println(trim); //hello
char charAt(int index)
返回当前字符串中指定位置的字符
-
//charAt:通过位置 获取内容
-
String str= "abcdef";
-
char c=str.charAt( 2);
-
System.out.println(c);
* boolean startWith(String str)
* boolean endWith(String str)
* 判断当前字符串是否是以给定的字符串开始或结束的
-
public static void main(String[] args) {
-
//使用这两个方法判断是否是图片
-
String str= "zhangc.jpg";
-
boolean starts=str.startsWith( "zh");
-
boolean end=str.endsWith( ".jpg");
-
System.out.println(starts);
-
System.out.println(end);
-
}
String toUpperCase()
String toLowerCase()
将当前字符串中的英文部分转换为全大写或全小写
-
public static void main(String[] args) {
-
String str= "Hellow World";
-
str=str.toUpperCase();
-
System.out.println(str);
-
str=str.toLowerCase();
-
System.out.println(str);
-
}
static String valueOf()
String 提供了若干的静态重载的方法valueOf,可以将java中的其他类型转换为字符串类型
常用于将基本类型转换为字符串类型
-
public static void main(String[] args) {
-
int a= 123;
-
//valueOf()性能好一点
-
String str=String.valueOf(a);
-
System.out.println(str);
-
double d= 123.123;
-
String str2=String.valueOf(d);
-
//方法2,也可以将一个基本数据类型的数据转成String类型的变量
-
String str3= 1234f+ "";
-
System.out.println(str3);
-
}
-
/**
-
* 分别使用charAt()和indexOf()实现检索一个字符串中所有字符b出现的下标
-
* @author zc
-
*/
-
public class TCharAt {
-
public static void main(String[] args) {
-
String s= "abcbcdbcgdgscbbvfb";
-
for( int i= 0;i<s.length();i++){
-
if( 'b'==s.charAt(i)){
-
System.out.println(i);
-
}
-
}
-
}
-
-
-
public void test01(){
-
String s= "abcbcdbcgdgscbbvfb";
-
int from= 0;
-
for( int i= 0;i<s.length();i++){
-
int index=s.indexOf( "b", from);
-
System.out.println(index);
-
from=index+ 1;
-
if(from>=s.length()){
-
break;
-
}
-
}
-
}
-
}
String[] split(String regex)
将当前字符串按照满足正则表达式的部分进行拆分
然后将所有拆分后的部分返回
-
public static void main(String[] args){
-
String str= "abc123def456ghi789jkl";
-
//按照数字部分拆分字符串
-
String[] result=str.split( "\\d+"); //最大匹配
-
System.out.println(result.length); //4
-
for( int i= 0;i<result.length;i++){
-
System.out.println(result[i]);
-
}
-
}
-
-
public void test02(){
-
//字符串如果是末尾能够匹配上,所有末尾的 空 字符串会被忽略,切分的正则表达式应满足最大匹配
-
String str= "abc123def456ghi789jkl12313233";
-
String[] result=str.split( "\\d");
-
for( int i= 0;i<result.length;i++){
-
System.out.println(result[i]);
-
}
-
System.out.println( "len:"+result.length); //10,末尾的数字切分出来的 空 字符串会被忽略
-
-
String str2= "233abc123def456ghi789jk";
-
String[] result2=str2.split( "\\d");
-
for( int i= 0;i<result2.length;i++){
-
System.out.println(result2[i]);
-
}
-
System.out.println( "len:"+result2.length); //13
-
}
String replaceAll(String regex,String str)
将当前字符串中满足正则表达式的部分替换为给定的字符串内容
-
public static void main(String[] args) {
-
String str= "abc123def456ghi789jkl";
-
/*
-
* 将当前字符串中的数字部分替换为"#NUMBER"
-
* */
-
str=str.replaceAll( "\\d", "#NUMBER");
-
System.out.println(str);
-
-
str= "abc123def456ghi789jkl";
-
-
/**
-
* 将英文部分替换为#CHAR#
-
* */
-
str=str.replaceAll( "[a-zA-Z]+", "#CHAR#");
-
System.out.println(str);
-
-
str=str.replaceAll( "\\d+", "#NUMBER");
-
System.out.println(str);
-
}
下面是我写的移除字符串中所有空格的两个方法
-
/**
-
* 删除字符串中的所有空格
-
* @author zc
-
*/
-
public class T11RemoveAllSpace {
-
public static void main(String[] args) {
-
String s= " ab cdf dfd dfsf dsfdsfe dsfdsfsfg ";
-
s=s.trim();
-
String[] eachs=s.split( "\\s+");
-
StringBuilder builder= new StringBuilder();
-
for( int i= 0;i<eachs.length;i++){
-
builder.append(eachs[i]);
-
}
-
s=builder.toString();
-
System.out.println(s);
-
}
-
//这种方法简单
-
-
public void test01(){
-
String s= " ab cdf dfd dfsf dsfdsfe dsfdsfsfg ";
-
s=s.replaceAll( "\\s+", "");
-
System.out.println(s);
-
}
-
}
-