java截取字符串,截串,substring和split,分割字母和数字,正则缝隙

需求,把"01:大汽车",分成01和大汽车

有两种做法:一是substring

Java代码 复制代码 收藏代码
  1. packagetest;
  2. publicclasssubstringTest
  3. {
  4. publicstaticvoidmain(Stringargs[])
  5. {
  6. StringN="01:大汽车";
  7. StringL="";
  8. StringR="";
  9. intk=N.length();
  10. for(inti=0;i<N.length();i++)
  11. {
  12. if(N.substring(i,i+1).equals("|"))
  13. {
  14. L=N.substring(0,i).trim();
  15. R=N.substring(i+1,k).trim();
  16. }
  17. else
  18. {
  19. }
  20. System.out.println(L);
  21. System.out.println(R);
  22. }
  23. }
  24. }

另外一种方法是CSDN上一位叫老六的人给我写的

package Test

Java代码 复制代码 收藏代码
  1. publicclasssplitTest
  2. {
  3. publicstaticvoidmain(String[]args)
  4. {
  5. Strings=newString("01:大汽车");
  6. Stringa[]=s.split(":");
  7. System.out.println(a[0]);
  8. System.out.println(a[1]);
  9. }
  10. }

split分割字母和数字,简单正则缝隙

Java代码
  1. publicclassTest01{
  2. publicstaticvoidmain(String[]args){
  3. Stringstr="one123";
  4. Stringregex="(?<=one)(?=123)";
  5. String[]strs=str.split(regex);
  6. for(inti=0;i<strs.length;i++){
  7. System.out.printf("strs[%d]=%s%n",i,strs[i]);
  8. }
  9. }
  10. }

substring讲解:

s=s.substring(int begin);截取掉s从首字母起长度为begin的字符串,将剩余字符串赋值给s;

s=s.substring(int begin,int end);截取s中从begin开始至end结束时的字符串,并将其赋值给s;

split讲解:

java.lang.string.split
split 方法
将一个字符串分割为子字符串,然后将结果作为字符串数组返回。
stringObj.split([separator,[limit]])
参数
stringObj
必选项。要被分解的 String 对象或文字。该对象不会被 split 方法修改。
separator
可选项。字符串或 正则表达式 对象,它标识了分隔字符串时使用的是一个还是多个字符。如果忽

略该选项,返回包含整个字符串的单一元素数组。
limit
可选项。该值用来限制返回数组中的元素个数。

说明
split 方法的结果是一个字符串数组,在 stingObj 中每个出现 separator 的位置都要进行分解

。separator 不作为任何数组元素的部分返回。

split 的实现直接调用的 matcher 类的 split 的方法。“ . ”在正则表达式中有特殊的含义,因此我们使用的时候必须进行转义。

Java代码
publicstaticvoidmain(string[]args){
  1. stringvalue="192.168.128.33";
  2. string[]names=value.split("\\.");
  3. for(inti=0;i<names.length;i++){
  4. system.out.println(names[i]);
  5. }}

如果用竖线“|”分隔的话,将出现不可得到的结果,必须改为“\\|”

你可能感兴趣的:(java,正则表达式)