zoukankan      html  css  js  c++  java
  • string的七种用法

    以下是string的七种用法,注意哦,记得要时常去查看java的API文档,那个里面也有很详细的介绍

    1>获取
     1.1:字符串中包含的字符数,也就是字符串的长度。
      int length():获取长度
     1.2:根据位置获取位置上某个字符。
      char charAt(int index)
     1.3:根据字符获取该字符在字符串中的位置。
      int indexOf(int ch):返回的是ch在字符串中第一次出现的位置。
      int indexOf(int ch,int fromIndex):从fromIndex指定位置开始,获取ch在字符串中出现的位置。
      
      int indexOf(String str):返回的是str在字符串中第一次出现的位置。
      int indexOf(String str,int fromIndex):从fromIndex指定位置开始,获取str在字符串中出现的位置。
     1.4:int lastIndexOf(String str):反向索引。


    2>判断
     2.1:字符串中是否包含某一个子串。
          boolean contains(str);
       特殊之处:indexOf(str):可以索引str第一次出现为止,如果返回-1,表示该str不在字符串中存在。
                 所以,也可以用于对指定判断是否包含。
           if(str.indexOf("a")!=1)

           而且该方法既可以判断,也可以获取出现的位置。

     2.2:字符串中是否有内容。 
           boolean isEmpty():原理就是判断长度是否为0。
     2.3:字符串是否以指定内容开头。
       boolean startsWith(str);
     2.4:字符串是否以指定内容结尾。
       boolean endsWith(str);
     2.5:判断字符内容是否相同,复写了object类中的equals方法。
       boolean equals(str);
     2.6:判断内容是否相同,并忽略大小写。
      boolean.equalsIgnorecase();

    3>转换
     3.1:将字符数组转成字符串。
      构造函数:String(char[])
          String(char[],offset,count):将字符数组中的一部分转成字符串
       静态方法:
         static String copyValueOf(char[]);
         static String copyValueOf(char[] data,int offset,int count);

         static String valueOf(char[]); 
     3.2:将字符串转成字符组
      char[] tocharArray();

     3.3:将字节数组转成字符串。
          String(byte[])
          String(byte[],offset,count):将字节数组中的一部分转成字符串
      3.4:将字符串转成字节数组。
      byte[] getBytes()

     3.5:将基本数据类型转成字符串,
     static String valueOf(int)
     static String valueOf(double)

     // 3+"" 与 String.valueOf(3)的值是一样的
     特殊:字符串和字节数组在转换过程中,是可以指定编码的。

    4>替换
     String replace(oldchar,newchar);

    5>切割
     String[] split(regex);

    6>子串。获取字符串中的而一部分
     String subString(begin);
     String subString(begin,end);

    7>转换,去除空格,比较。
     7.1:将字符串转成大写或小写
       String toUpperCsae() 大转小
       String toLowerCsae() 小转大

     7.2:将字符串两端的多个空格去除
       String trim();

     7.3:对两个字符串进行自然顺序的比较
       int compareTo(string);

     请看如下代码,下面的代码都是针对上面string七种用法而进行一一举例说明:

    [java] view plain copy
     
    1. class StringMethodDemo   
    2. {  
    3.  public static void method_Zhuanhuan_Qukong_Bijiao()  
    4.  {  
    5.   String s = "     hello Java    ";  
    6.     
    7.   //打印结果是:(hello和java前后门都有空格)hello java  
    8.   sop(s.toUpperCase());  
    9.   
    10.   //打印结果是:(HELLO和JAVA前后门都有空格)HELLO JAVA  
    11.   sop(s.toLowerCase());  
    12.   
    13.   //打印及结果是:不带空格的“hello java”  
    14.   sop(s.trim());  
    15.   
    16.   //比较数的大写,打印结果是:1,因为b对应ascii值是98,  
    17.   //a对应是97,所以b-a=1  
    18.   String s1 = "abc";  
    19.   String s2 = "aaa";  
    20.   sop(s1.compareTo(s2));  
    21.   
    22.  }  
    23.   
    24.  public static void method_sub()  
    25.  {  
    26.   String s = "abcdef";  
    27.   
    28.   //打印结果是:cdef,从指定位置开始到结尾。如果角标不存在,会出现字符串角标越界。  
    29.   sop(s.substring(2));  
    30.   
    31.   //打印结果是:cd,包含头,不包含尾。  
    32.   sop(s.substring(2,4));  
    33.  }  
    34.  public static void method_split()  
    35.  {  
    36.   String s = "zhangsan,lisi,wangwu";  
    37.   
    38.   String[] arr = s.split(",");  
    39.   
    40.   for(int x=0; x<arr.length; x++)  
    41.   {  
    42.    sop(arr[x]);  
    43.   }  
    44.  }  
    45.   
    46.  public static void method_replace()  
    47.  {  
    48.   String s = "hello java";  
    49.   
    50.   //String s1 = s.replace('a','n');  
    51.   //String s1 = s.replace('w','n');  如果要替换的字符不存在,返回的还是原串  
    52.     
    53.   String s1 = s.replace("java","world");//打印结果是:hello world  
    54.   
    55.   sop("s="+s); //打印结果是:hello java因为字符串一旦被初始化,值就不可被改变  
    56.   sop("s1="+s1);//打印结果是:hello jnvn  
    57.   
    58.  }  
    59.   
    60.  public static void method_trans()  
    61.  {  
    62.   char[] arr = {'a','b','c','d','e','f'};  
    63.   
    64.   String s = new  String(arr,1,3);  
    65.   
    66.   sop("s="+s);//打印结果是:bcd  
    67.   
    68.   String s1 = "zxcvbnm";  
    69.   char[] chs = s1.toCharArray();  
    70.   
    71.   for(int x=0; x<chs.length; x++)  
    72.   {  
    73.    sop("ch="+chs[x]);//打印结果是:ch=z,x,c,v,b,n,m  
    74.   }  
    75.  }  
    76.   
    77.  public static void method_is()  
    78.  {  
    79.   String str = "ArrayDemo.java";  
    80.   
    81.  //判断文件名称是否是Array单词开头  
    82.   sop(str.startsWith("Array"));  
    83.    
    84.  //判断文件名称是否是.java的文件  
    85.   sop(str.endsWith(".java"));  
    86.    
    87.  //判断文件中是否包含Demo  
    88.   sop(str.contains("Demo"));  
    89.  }  
    90.    
    91.   
    92.  public static void method_get()  
    93.  {  
    94.   String str = "abcdeakpf";  
    95.   
    96.   //长度  
    97.   sop(str.length());  
    98.   
    99.   //根据索引获取字符  
    100.   sop(str.charAt(4));  
    101.   //sop(str.charAt(40));当访问到字符串中不存在的角标时会发生StringIndexOutOfBoundsException(字符串角标越界异常)  
    102.   
    103.   //根据字符获取索引  
    104.   //sop(str.indexOf('a'));  
    105.   sop(str.indexOf('a',3));//打印的是5,因为角标3是d,  
    106.         //所以从d后面开始找a,第5个角标是a  
    107.   //sop(str.indexOf('t',3))打印:-1,如果没有找到角标,返回-1  
    108.     
    109.   
    110.   //反向索引一个字符出现的位置(从右往左查找,但是角标还是从左开始)  
    111.   sop(str.lastIndexOf("a"));  
    112.  }  
    113.   
    114.  public static void main(String[] args)   
    115.  {  
    116.    method_Zhuanhuan_Qukong_Bijiao();  
    117.   //method_sub();  
    118.   //method_split();  
    119.   //method_replace();    
    120.   //method_trans();   
    121.   //method_is();  
    122.   //method_get();  
    123.   /* 
    124.   String s1 = "abc"; 
    125.   String s2 = new String("abc"); 
    126.  
    127.   String s3 = "abc"; 
    128.   System.out.println(s1==s2); 
    129.   System.out.println(s1==s3); 
    130.   */  
    131.  }  
    132.   
    133.  public static void sop(Object obj)  
    134.  {  
    135.   System.out.println(obj);  
    136.  }  
    137. }  


     

  • 相关阅读:
    二分+RMQ/双端队列/尺取法 HDOJ 5289 Assignment
    思维题 HDOJ 5288 OO’s Sequence
    树形DP Codeforces Round #135 (Div. 2) D. Choosing Capital for Treeland
    最大流增广路(KM算法) HDOJ 1853 Cyclic Tour
    最大流增广路(KM算法) HDOJ 1533 Going Home
    最大流增广路(KM算法) HDOJ 2255 奔小康赚大钱
    Complete the Word CodeForces
    Gadgets for dollars and pounds CodeForces
    Vasya and Basketball CodeForces
    Carries SCU
  • 原文地址:https://www.cnblogs.com/crhdyl/p/5353246.html
Copyright © 2011-2022 走看看