String类常用的方法总结

String类常用的方法总结如下:

①length():返回字符串个数;
②equals():检查字符串中的内容是否一致;
equals()和==号的详细区别,见博客总结:
http://blog.csdn.net/yajing8/article/details/73528096
③equalsIgnoreCase():忽略大小写;
④toUpperCase():转为大写;
⑤toLowerCase():转为小写;
⑥concat():字符串连接;
⑦indexOf(字符或Sring):返回第一个出现的字符或字符串索引位置; (从0开始),没有返回-1
Eg:检查邮箱格式:
email.indexOf(“@”)!=-1&&email.indexOf(“@”)>email.indexOf(“.”)
lastIndexOf(字符或Sring):返回最后一个出现的字符或字符串索引 位置,没有返回-1;
⑧subString(int index):提取从索引位置开始的以后字符串;
subString(int begin,int end):提取参数一和参数二之间的字符
串,包前不包后;begin从0开 始,end从1开始;
⑨字符串拆分:split():将字符串拆分为字符串数组;

举例如下:

package com.day7.demo1;

import org.junit.Test;
/**
 * String 方法练习
 * @author 任志燕 
 * 2017年6月23日
 *
 */
public class StringTest {
    /**
     * 1.equalsIgnoreCase():忽略大小写
     * 2.toLowerCase():转成小写
     * 3.toUpperCase():转成大写
     */
    @Test
    public void testOne(){
        String str = "abc";
        String str1 = "aBc";
        System.out.println(str1.equals(str));//false
        System.out.println(str.equalsIgnoreCase(str1));//true
        System.out.println(str.toLowerCase());//abc
        System.out.println(str.toUpperCase());//ABC
        System.out.println(str == str1+"***"+str.equals(str1));
    }
    /**
     * String连接方法(一般不用)
     * 4.str1.contact(str1):不会影响str1,因为str1是常量
     */
    @Test
    public void testTwo(){
        String str = "abc";
        String str1 = str.concat("ddd");
        System.out.println(str1);//abcddd
        System.out.println(str);//abc
    }

    /**
     * 索引一般从0开始,截取字符串
     * 5..str.substring(int x):包括x及x以后的字符串
     * 6.str.substring(int x, int y):包括x不包括y的字符串(长度是截出字符串的长度)
     */
    @Test
    public void testThree(){
        String str = "143431189505148321";
        String str1 = str.substring(6);//包括6及6以后的字符串
        String birth = str.substring(6, 14);//包括前面不包括后面
        System.out.println(str1);//199505143321
        System.out.println(birth);//19950514
    }
    /**
     * 7.indexOf():求某个字符的索引位置,从0开始
     * 8.lastIndexOf():
     */
    @Test
    public void testFour(){
        String str = "143431189505148321";
        int num1 = str.indexOf("4");
        int num2 = str.indexOf("4", 2);
        int num3 = str.lastIndexOf("4");
        int num4 = str.lastIndexOf("4", 2);
        System.out.println(num1);//1
        System.out.println(num2);//3
        System.out.println(num3);//13
        System.out.println(num4);//1
    }
    /**
     * 9.replace(var1,var2):
     *  参数可以是字符或字符串
     *  用var2替换var1
     *  是全部替换
     */
    @Test
    public void testFive(){
        String str = "142431066505143321";
        String str1 = str.replace('4', '0');//全部替换
        System.out.println(str);//142431199505143321
        System.out.println(str1);//102031199505103321
        String str2 = str.replace("43", "88");//全部替换
        System.out.println(str);//142431199505143321
        System.out.println(str2);//142881199505188321
    }
    /**
     * 10.compareto("")方法,返回参与比较的前后两个字符串的asc码的差值:
     *  字符串长度相同时:
     *      两个字符串首字母不同,则该方法返回首字母的asc码的差值
     *      即参与比较的两个字符串如果首字符相同,则比较下一个字符,直到有不同的为止,返回该不同的字符的asc码差值;
     *  字符串长度不相同时:
     *      如果两个字符串不一样长,可以参与比较的字符又完全一样,则返回两个字符串的长度差值
     *      如果两个字符串不一样长,可以参与比较的字符不完全一样,则挨个比较
     */
    @Test
    public void test(){
        String str = "dnc";
        System.out.println(str.compareTo("fgh"));//-2
        String str1 = "dnc";
        System.out.println(str1.compareTo("fghh"));//-2
        String str2 = "dncc";
        System.out.println(str2.compareTo("dnc"));//1

    }

    /**
     * 11.trim():只能去除首尾空格
     */
    @Test
    public void testSeven(){
        String str = " abc ";
        System.out.println(str.length());//5
        System.out.println(str.trim().length());//3
        String str1 = " a b c";
        System.out.println(str1.length());//6
        System.out.println(str.trim().length());//3
    }
    /**
     * 12.valueOf():static方法
     *  用于其他类型转化成String类型
     */
    @Test
    public void testEight(){
        int num = 12;
        String numStr = String.valueOf(num);
        System.out.println(numStr);
    }

    /**
     *13. format():static方法
     *  用于格式化数据(和C语言格式形同)
     */
    @Test
    public void testNine(){
        double num = 23.8999999;
        System.out.println(String.format("%.2f", num));//23.90
    }
    /**
     * 14.split(" "):根据空格分开,返回一个字符串数组
     *  用于格式化数据
     */
    @Test
    public void testTen(){
        String str = "123 456 789";
        String[] arr = str.split(" ");
        System.out.println(arr.length);//3
    }

    /**
     * 15.toCharArray():转换成字符数组
     */
    @Test
    public void testSix(){
        String str = "143431189505148321";
        char[] charArr = str.toCharArray();
        for (int i = 0; i < charArr.length; i++) {
            System.out.print(charArr[i]+" ");//1 4 2 4 3 1 1 9 9 5 0 5 1 4 3 3 2 1 
        }
    }



}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

雅静8

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值