黑马程序员技术交流社区

标题: java截取字符串 [打印本页]

作者: yangkaiwei    时间: 2016-5-12 11:47
标题: java截取字符串
[size=12.6316px]需求,把"01:大汽车",分成01和大汽车
[size=12.6316px]有两种做法:一是substring
[size=12.6316px]{:3_64:}
[size=12.6316px]例子:
[size=12.6316px]
  1. package test;  
  2.   
  3. public class substringTest  
  4. {  
  5. public static void main(String args[])   
  6. {   
  7.   String N = "01:大汽车";   
  8.   String L="";   
  9.   String R="";   
  10.   int k= N.length();   
  11.   for (int i = 0; i < N.length(); i++)   
  12.   {   
  13.    if (N.substring(i, i + 1).equals("|"))   
  14.    {     
  15.     L=N.substring(0,i).trim();   
  16.     R=N.substring(i+1,k).trim();   
  17.    }   
  18.    else   
  19.    {   
  20.                
  21.    }   
  22.    System.out.println(L);   
  23.    System.out.println(R);   
  24.   }  
  25. }  
  26. }   
复制代码
另外一种方法例子::
[size=12.6316px]
  1. public class splitTest  
  2. {  
  3.     public static void main(String[] args)  
  4.     {  
  5.         String s = new String("01:大汽车");   
  6.         String a[] = s.split(":");  
  7.       
  8.         System.out.println(a[0]);  
  9.         System.out.println(a[1]);  
  10.     }  
  11. }  
复制代码
split分割字母和数字,简单正则缝隙例子::
[size=12.6316px]
  1. public class Test01 {  
  2.     public static void main(String[] args) {  
  3.         String str = "one123";  
  4.         String regex = "(?<=one)(?=123)";  
  5.         String[] strs = str.split(regex);  
  6.         for(int i = 0; i < strs.length; i++) {  
  7.             System.out.printf("strs[%d] = %s%n", i, strs[i]);  
  8.         }  
  9.     }  
  10. }  
复制代码

substring讲解:


[size=12.6316px]s=s.substring(int begin);截取掉s从首字母起长度为begin的字符串,将剩余字符串赋值给s;
[size=12.6316px]s=s.substring(int begin,int end);截取s中从begin开始至end结束时的字符串,并将其赋值给s;
[size=12.6316px]split讲解:
[size=12.6316px]java.lang.string.split
split 方法
将一个字符串分割为子字符串,然后将结果作为字符串数组返回。
stringObj.split([separator,[limit]])
参数
stringObj
必选项。要被分解的 String 对象或文字。该对象不会被 split 方法修改。
separator
可选项。字符串或 正则表达式 对象,它标识了分隔字符串时使用的是一个还是多个字符。如果忽
[size=12.6316px]略该选项,返回包含整个字符串的单一元素数组。
limit
可选项。该值用来限制返回数组中的元素个数。
[size=12.6316px]说明
split 方法的结果是一个字符串数组,在 stingObj 中每个出现 separator 的位置都要进行分解
[size=12.6316px]。separator 不作为任何数组元素的部分返回。
[size=12.6316px]split 的实现直接调用的 matcher 类的 split 的方法。“ . ”在正则表达式中有特殊的含义,因此我们使用的时候必须进行转义。
[size=12.6316px]例子:
  1. public static void main(string[] args) {  
  2. string value = "192.168.128.33";  
  3. string[] names = value.split("\\.");  
  4. for (int i = 0; i < names.length; i++) {  
  5. system.out.println(names[i]);  
  6. }}  
复制代码








欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2