JAVA中String字符串的各种基本操作

[java] view plain copy
  1. /* 
  2.  String类适用于描述字符串事物。 
  3.  那么它就提供了多个方法对字符串进行操作。 
  4.   
  5.  常用的方法如下: 
  6.   
  7.  1、获取: 
  8.     1.1 字符串中包含的字符数,也就是字符串的长度。 
  9.         int length():获取长度。 
  10.     1.2 根据位置获取该位置上的某个字符。 
  11.         char charAt(int index):返回指定索引处的char值。 
  12.     1.3 根据字符获取该字符在字符串的位置。 
  13.         int indexOf(String str):返回的是str在字符串中第一次出现的位置。 
  14.         int indexOf(int ch,int fromIndex):从fromIndex指定位置开始,获取ch在字符串中出现的位置。 
  15.         int lastIndexOf(int ch):反向索引一个字符出现的位置 
  16.   
  17.  2、判断: 
  18.     2.1  字符串中是否包含某一个子串。 
  19.         boolean contains(str); 
  20.         特殊之处:indexOf(str):可以索引str第一次出现的位置,如果返回-1表示该str不在字符串中存在。 
  21.                   所以,也可以用于对指定判断是否包含。 
  22.                  if(str.indexOf("aa")!=-1)   
  23.                   而且该方法既可以判断,又可以获取出现的位置 
  24.     2.2 字符中是否有内容。 
  25.         boolean isEmpty():原理就是判断长度是否为0. 
  26.     2.3 字符串是否是以指定内容开头。 
  27.         boolean startsWith(str); 
  28.     2.4 字符串是否是以指定内容结尾。 
  29.         boolean endsWith(str); 
  30.     2.5判断字符串内容是否相同。复写Object类中的equals方法。 
  31.         boolean equals(str); 
  32.     2.6 判断内容是否相同,并忽略大小写 
  33.         boolean equalsIgnoreCase(); 
  34.          
  35.  3、转换 
  36.     3.1 将字符数组转换成字符串。 
  37.         构造函数: String(char[]) 
  38.                   String(char[],offset,count):将字符数组中的一部分转换成字符串。 
  39.         静态方法: 
  40.                  static String copyValueOf(char[]); 
  41.                  static String copyvalueOf(char[] data, int offset, int count); 
  42.     3.2 将字符串转换成字符数组(重点)。 
  43.                 char[] toCharArray(); 
  44.     3.3 将字节数组转换成字符串。 
  45.                  String(byte[]) 
  46.                  String(byte[],offset,count):将字节数组中的一部分转换成字符串。 
  47.     3.4 将字符串转换成字节数组 
  48.     3.5 将基本数据类型转换成字符串。 
  49.         String valueOf(int); 
  50.         String valueOf(double); 
  51.          
  52.         特殊:字符串和字节数组在转换过程中是可以指定编码表的。 
  53.          
  54.  4、替换 
  55.         String replace(oldchar,newchar); 
  56.  5、切割 
  57.         String[] split(regex); 
  58.  6、子串            获取字符串中的一部分 
  59.         String substring(begin); 
  60.         String substring(begin,end); 
  61.  7、转换,去除空格,比较 
  62.     7.1 将字符串转成大写或者小写。 
  63.         String toUpperCase(); 
  64.         String toLowerCase(); 
  65.     7.2 将字符串两端的多个空格去除。 
  66.         String trim(); 
  67.     7.3 将两个字符串进行自然顺序的比较。 
  68.  */  
  69.   
  70. public class StringDemo1 {   
  71.     //转换,去除空格,比较  
  72.     public static void method_7(){  
  73.         String s="Hello Java";  
  74.         sop("原字符串为:"+s);  
  75.         sop(s.toUpperCase());  
  76.         sop(s.toLowerCase());  
  77.         sop(s.trim());  
  78.           
  79.         String s1="acc";  
  80.         String s2="aaa";  
  81.         sop(s1.compareTo(s2));  
  82.     }  
  83.     //子串         获取字符串中的一部分  
  84.     public static void method_sub(){  
  85.         String s="abcdefghijklmnopqrstuvwxyz";  
  86.         sop("原字符串为");  
  87.         sop(s);  
  88.         String s1=s.substring(9); //从指定位置到结尾。如果角标不存在,则会出现字符串角标越界异常。  
  89.         sop("获取的子串s1为:");  
  90.         sop(s1);  
  91.         String s2=s.substring(7,20); //包含头,不包含尾。 获取整个字符串:s.substring(0,s.length());  
  92.         sop("获取的子串s2为:");  
  93.         sop(s2);  
  94.     }  
  95.     //切割  
  96.     public static void method_split(){  
  97.         String s="zhangsan,lisi,wangwu";  
  98.         String[] arr=s.split("a");  
  99.         sop("原字符串为:");  
  100.         sop(s);  
  101.         sop("切割后的字符串为:");  
  102.         for(int x=0;x<arr.length;x++)  
  103.         {  
  104.             System.out.print(arr[x]+" ");  
  105.         }  
  106.         System.out.println();  
  107.     }  
  108.     //判断  
  109.     public static void method_is(){  
  110.         String str="ArrayDemo.java";  
  111.         String str1="arraydemo.java";  
  112.         //判断文件名称是否以Array开头  
  113.         sop(str.startsWith("Array"));  
  114.         //判断文件名称是否是以.java结尾  
  115.         sop(str.endsWith(".java"));  
  116.         //判断文件名称中是否包含Demo  
  117.         sop(str.contains("Demo"));  
  118.         //判断两个文件名是否相同(区分大小写)  
  119.         sop(str.equals(str1));  
  120.         //判断两个文件名是否相同(不区分大小写)  
  121.         sop(str.equalsIgnoreCase(str1));  
  122.     }  
  123.     //获取  
  124.     public static void method_get(){  
  125.         String str="abcdeakpf";  
  126.         sop("字符串为:"+str);  
  127.         //长度  
  128.         sop("字符串的长度为:"+str.length());  
  129.         //根据索引获取字符  
  130.         sop("角标为四的位置上的字符为:"+str.charAt(4));//当访问到字符串中不存在的角标时,会发生 StringIndexOutOfBoundsException异常  
  131.         //根据字符获取索引  
  132.         sop("从角标为3的位置开始往后索引 a 出现的位置为:"+str.indexOf('a',3));//如果没有找到返回-1  
  133.         //反向索引一个字符出现的位置  
  134.         sop("从字符串右面开始索引第一个a出现的位置为:"+str.lastIndexOf("a"));  
  135.     }  
  136.     //转换  
  137.     public static void method_trans(){  
  138.         char[] arr={'a','b','c','d','e','f','g','h'};  
  139.         String str="jkasdhavsgjv";  
  140.         char[] a=str.toCharArray();  
  141.         //字符串操作  
  142.         System.out.print("将字符串转换为字符数组为:[");  
  143.         for(int x=0;x<a.length;x++)  
  144.         {  
  145.             if(x<a.length-1)  
  146.                 System.out.print(a[x]+",");  
  147.             else  
  148.                 System.out.print("]");  
  149.         }  
  150.         System.out.println();  
  151.         //字符数组操作  
  152.         System.out.print("字符数组为:[");  
  153.         for(int x=0;x<arr.length;x++)  
  154.         {  
  155.             if(x<arr.length-1)  
  156.                 System.out.print(arr[x]+",");  
  157.             else  
  158.                 System.out.print("]");  
  159.         }  
  160.         System.out.println();  
  161.         String s=new String(arr);  
  162.         sop("转换成字符串为:"+s);  
  163.         //获取从角标为1的位置的字符开始三个字符  
  164.         String s1=new String(arr,1,3);  
  165.         sop("从角标为1的位置的字符开始三个字符组成的字符串为:"+s1);  
  166.     }  
  167.     //替换  
  168.     public static void method_replace(){  
  169.           
  170.         String s="      hello java     ";  
  171.           
  172.         String s1=s.replace('a''n'); //如果要替换的字符不存在,则返回的还是原字符串  
  173.           
  174.         sop("原来的字符串为:"+s);  
  175.           
  176.         sop("替换字符后的字符串为:"+s1);  
  177.           
  178.     }  
  179.     //主函数  
  180.     public static void main(String[] args) {  
  181.         method_get();  
  182.         method_is();  
  183.         method_trans();  
  184.         method_replace();  
  185.         method_split();  
  186.         method_sub();  
  187.         method_7();  
  188.     }  
  189.     public static void sop(Object obj){  
  190.         System.out.println(obj);  
  191.     }  
  192. }  


结果图:

心得体会:对字符串的操作有了深一步的认识,一些操作在脑袋里感觉瞬间变得清晰了好多。

猜你喜欢

转载自blog.csdn.net/zhou_jiepeng/article/details/80301150