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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© jiaweizhang 中级黑马   /  2015-9-23 11:59  /  269 人查看  /  0 人回复  /   0 人收藏 转载请遵从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));

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马