A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© cheukfan 中级黑马   /  2016-12-1 21:57  /  1171 人查看  /  5 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

1)常见的字符串方法:

1.获取:
1.1 获取字符串长度
    int:length()                 
1.2 根据位置获取位置上的某个字符
    char: charAt(int index)           
1.3 根据字符获取该字符在字符串中的位置
    int: indexOf(int ch)          返回ch在字符串中第一次出现的位置,ch ASCll码值
    int: indexof(int ch, int fromIndex)  从fromIndex指定位置开始,获取ch在字符串中出现的位置
                          
    int: indexOf(String str)          返回str在字符串中第一次出现的位置
    int: indexof(String str, int fromIndex)  从fromIndex指定位置开始,获取str在字符串中出现的位置

代码示例:
public class StringMethodTest {

        public static void main(String[] args) {
                String str = "abcfrsfhgcdefg";
                sop(str.length());                 //获取字符串的长度
                sop(str.charAt(2));                 //根据位置获获取字符
                sop(str.indexOf('c'));         //获取字符第一次出现的位置
                sop(str.indexOf('f',5)); //从指定位置开始获取字符第一次出现的位置
        }
        
        public static void sop(Object o){
                System.out.println(o);
        }

}

运行结果:
14
c
2
6



2.判断:

2.1 字符串中是否包含某一个字符串
    boolean: contains(String str);
    特殊写法:indexOf(str) 可以索引str第一次出现的位置,如果返回-1,表示str不存在
    if(str.indexOf("aa") != -1)        该方法既可以判断,又可以获取出现的位置
2.2 字符串中是否有内容
    boolean: isEmpty(String str); 原理是判断长度是否为0
2.3 字符串中是否以指定内容开头
    boolean: startWith(String str);
2.4 字符串是否是以指定内容结尾
    boolean: endWith(String atr);
2.5 判断字符串的内容是否相同
    boolean: equals(String str);
2.6 判断内容是否相同,并忽略大写小
    boolean: equalsIgnoreCase(String str);

代码示例:
public class StringMethodTest {

        public static void main(String[] args) {
                String str = "ArrayDemo.java";
                sop(str.startsWith("Array"));        //判断字符串是否以指定内容开头
                sop(str.endsWith(".java"));                //判断字符串是否以指定内容结尾
                sop(str.contains("Array"));                //判断字符串是否包含指定内容
                sop(str.isEmpty());                //判断字符串是否为空,为空返回true
               
                String str1 = "abc";
                sop(str1.equals("abc"));        //判断字符串的内容是否相同
                sop(str1.equalsIgnoreCase("AbC")); //判断内容是否相同,并忽略大写小
               
        }
        
        public static void sop(Object o){
                System.out.println(o);
        }

}
运行结果:
true
true
true
false
true
true



3. 字符串的转换

   3.1 将字符串数组转换成字符串
        构造函数写法:new String(char[]);
                      new String(char[],offset,count);
        静态方法写法:static String.copyValueOf(char[]);
                      static String.copyValueOf(char[] ,int offset,int count);
                      sttaic String.valueOf(char[]);
   3.2 将字符串转成字符数组
        char[]: toCharArray();
   3.3 将字节数组转成字符串
        new String(byte[]);
        new String(byte[],offset,count); 将字节数组中一部分转成字符串
   3.4 将字符串转成字节数组
        byte[]: getByte();
   3.5 将基本数据类型转成字符串
        static String.valueOf(type par);
        
        或者:String a = 3+"";        //也可以转换成字符串

        
   字符串和字节数组在转换的过程中,可以指定编码表。

代码示例:
ublic class StringTransform {
        
        public static void sop(Object o){
                System.out.println(o);
        }
        
        public static void main(String[] args) {
                //1.将字符数组转换成字符串
                char[] chs = {'h','a','p','p','y','m','e'};               
                String strChs = new String(chs);
                //将一部分字符数组转成字符串
                String strChs1 = new String(chs,2,5);
                sop(strChs);
                sop(strChs1);
               
                //静态的方式转换
                String staticStr1 = String.copyValueOf(chs);
                String staticStr2 = String.copyValueOf(chs,2,5);
                String staticStr3 = String.valueOf(chs);
                sop(staticStr1);
                sop(staticStr2);
                sop(staticStr3);
                sop("---------------------------");
               
                //2.将字符串转换成字符数组:
                String hi = "helloword";
                char[] chhi = hi.toCharArray();
                for(int i = 0; i < chhi.length; i++){
                        sop("chhi--" + chhi[i]);
                }
               
                sop("----------------------------");
               
                //3.将字节数组转成字符串
                byte[] bys = {'a','d','f','h','p','s','g'};
                String strBys = new String(bys);
                sop(strBys);
               
                sop("----------------------------");
                //4.将字符串转换成字节数组:
                String nam = "jackfrank";
                byte[] bn = nam.getBytes();
                for(int i = 0; i < bn.length; i++){
                        sop("bn--" + bn[i]);
                }

                                
                //5.将基本数据类型转换成字符串
                sop("---------------------------------");               
                int a = 10;
                double b = 11.5;
                String c = String.valueOf(a);
                String d = String.valueOf(b);
                String e = 5 +"";        //也可以转
                sop(c);
                sop(d);
               
               
               
               
        }

}



4.字符串的替换
  4.1 String: replace(oldChar ,newChar);//把字符串中某个字符替换掉
        例:
        String str = "abc";
        String str2 = str.replace("a","b"); //字符串一旦被初始化,就不会被改变,这里返回的的是一个新的字符串

  4.2 String: replace(target,replacement);        //替换多个字符
        例:
        String str = "hello java";
        String newStr = str.replace("hello","hi");
        System.out.println(newStr);        //结果是 hi java


5.字符串拆分
  String[]: split(regex) ; 根据给定正则表达式的匹配拆分此字符串,返回字符串数组,regex为正则表达式
        例:
        String s = "zhangsan,lisi,wangwu";
        String[] arr = s.split(",");

        返回字符串数组:{ "zhangsna","lisi","wangwu" }


更多查询API文档

6.获取子串,获取字符串中的一部分
  String: substring(int begin)        //从指定位置开始到结尾
  String: substring(int begin,int end)   //从自定位置开始到指定位置结尾,不包含结尾
        例:
        String str = "abcdefg";
        String newStr = str.substring(2);//从第二位开始到结尾截取
        String newStr1 = str.substring(2,4);//从第二位开始到第四位截取,不包含第四位

7.字符串大小写转换、去除空格、比较
  7.1 转换大小写
      String: toUpperCase();        //转换成大写
      String: toLowerCase();        //转换成小写
        例:
        String s = "abc";
        System.out.println(s.toUpperCase());        //结果是ABC
        

  7.2 去除字符串两端的空格
      String: trim();
        例:
        String s = "   zhang san   ";
        System.out.println(s.trim());        //结果 "zhan san"

  7.3 按字典顺序比较两个字符串
      int: compareTo(String str);
        例:
        String s4 = "abc";
        String s5 = "abe";
        System.out.println(s4.compareTo(s5));

5 个回复

正序浏览
回复 使用道具 举报
这下的也是够详细了
回复 使用道具 举报
好好学习,天天向上。
回复 使用道具 举报
楼主写的很详细,学习了
来自宇宙超级黑马专属安卓客户端来自宇宙超级黑马专属安卓客户端
回复 使用道具 举报
总结的很全 拿到了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马