String常用方法(二)

常用的方法

public char charAt(int index) 返回字符串中第index个字符;
public int length() 返回字符串的长度;
public int indexOf(String str) 返回字符串中第一次出现str的位置;
public int indexOf(String str,int fromIndex) 返回字符串从fromIndex开始第一次出现str的位置;
public boolean equalsIgnoreCase(String another) 比较字符串与another是否一样(忽略大小写);
public String replace(char oldchar,char newChar) 在字符串中用newChar字符替换oldChar字符

public boolean startsWith(String prefix) 判断字符串是否以prefix字符串开头;
public boolean endsWith(String suffix) 判断一个字符串是否以suffix字符串结尾;
public String toUpperCase() 返回一个字符串为该字符串的大写形式;
public String toLowerCase() 返回一个字符串为该字符串的小写形式
public String substring(int beginIndex)
返回该字符串从beginIndex开始到结尾的子字符串;
public String substring(int beginIndex,int endIndex)
返回该字符串从beginIndex开始到endsIndex结尾的子字符串
public String trim()
返回该字符串去掉开头和结尾空格后的字符串

public String[] split(String regex)
将一个字符串按照指定的分隔符分隔,返回分隔后的字符串数组
char[] toCharArray 将字符串转换成字符数组
String valueOf(Boolean b) 将布尔方法b的内容用字符串表示
String valueOf(char ch) 将字符ch的内容用字符串表示
String valueOf(int index) 将数字index的内容用字符串表示
String valueOf(long l) 将长整数字l的内容用字符串表示
char[] getBytes 将字符串转换成字符数组返回
char[] getBytes(String str) 将指定的字符串转成制服数组返回
String concat(String 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方法或intdexOf实现
/**
* 分别使用charAt()和indexOf()实现检索一个字符串中所有字符b出现的下标

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);
            }
        }
    }
    @Test
    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]);
        }
    }
    @Test
    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);
    }

下面是我写的移除字符串中所有空格的两个方法

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);  
    }  
    //这种方法简单  
    @Test  
    public void test01(){  
               String s="  ab  cdf dfd   dfsf  dsfdsfe   dsfdsfsfg  ";  
        s=s.replaceAll("\\s+","");  
        System.out.println(s);  
    }  
}  

参考博客:
http://blog.csdn.net/kaishizhangcheng/article/details/52332543 http://www.cnblogs.com/YSO1983/archive/2009/12/07/1618564.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值