且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

详解字符串拆、截、格式化之法 | 带你学《Java面向对象编程》之三十四

更新时间:2022-05-09 22:07:31

上一篇:迅速学会字符串查找与替换 | 带你学《Java面向对象编程》之三十三
【本节目标】
通过阅读本节内容,你将了解到字符串拆分、截取、格式化相关的方法,并学会使用这些方法来对字符串进行相关的操作。

字符串拆分

在字符串处理的时候还提供有一种字符串拆分的处理方法,字符串的拆分操作主要是可以根据一个指定的字符串或者是一些表达式实现字符串的拆分,并且拆分完成的数据将以字符串数组的形式返回。

No. 方法名称 类型 描述
01 public String[] split(String regex) 普通 按照指定的字符串全部拆分
02 public String[] split(String regex,int limit) 普通 按照指定的字符串拆分为指定个数,后面不拆了

范例:观察字符串拆分处理

public class StringDemo{
   public static void main(String args[]) {
       String str = “hello world hello mldn” ;
       String result [] = str.split(“ ”) ;     //空格拆分
       for (int x = 0 ; x < result.length ; x ++) {
          System.out.println(result [x]) ;   
       }
   }      
}

详解字符串拆、截、格式化之法   | 带你学《Java面向对象编程》之三十四
图一 执行结果一

除了可以全部拆分之外,,也可以拆分为指定的个数。
范例:拆分指定个数

public class StringDemo{
   public static void main(String args[]) {
       String str = “hello world hello mldn” ;
       String result [] = str.split(“ ” , 2) ;     //空格拆分
       for (int x = 0 ; x < result.length ; x ++) {
          System.out.println(result [x]) ;   
       }
   }      
}

详解字符串拆、截、格式化之法   | 带你学《Java面向对象编程》之三十四
图二 执行结果二

但是在进行拆分的时候有可能会遇见拆不了的情况,这种时候最简单的理解就是使用“\”进行转义。

public class StringDemo{
   public static void main(String args[]) {
       String str = “192.168.1.2” ;
       String result [] = str.split(“.”) ;     //.拆分
       for (int x = 0 ; x < result.length ; x ++) {
          System.out.println(result [x]) ;   
       }
    }      
}

详解字符串拆、截、格式化之法   | 带你学《Java面向对象编程》之三十四
图三 执行结果三

public class StringDemo{
   public static void main(String args[]) {
       String str = “192.168.1.2” ;
       String result [] = str.split(“\\.”) ;     //.拆分
       for (int x = 0 ; x < result.length ; x ++) {
          System.out.println(result [x]) ;   
       }
   }      
}

详解字符串拆、截、格式化之法   | 带你学《Java面向对象编程》之三十四
图四 执行结果四

对于拆分与替换的更多操作后面会进行更多的讲解说明。

字符串截取

从一个完整的字符串之中截取出子字符串,对于截取操作有两个方法。

No. 方法名称 类型 描述
01 public String substring(int beginIndex) 普通 从指定索引到结尾
02 public String substring(int beginIndex,int endIndex) 普通 截取指定索引范围中的子字符串

范例:观察字符串截取操作

public class StringDemo{
   public static void main(String args[]) {
       String str = “www.mldn.cn” ;
       System.out.println(str.substring(4)) ;   //mldn.cn
       System.out.println(str.substring(4 , 8)) ;   //mldn
   }      
}

在实际的开发之中,有些时候的开始或结束索引往往都是通过indexOf()方法计算得来的。
范例:观察截取

public class StringDemo{
   public static void main(String args[]) {
       //字符串结构:“用户id-photo-姓名.后缀”
       String str = “mldn-photo-张三.jpg” ;
       int beginIndex = str.indexOf(“-” ,str.indexOf(“photo”)) + 1 ;
       int endIndex = str.lastIndexOf(“.”) ;
       System.out.println(str.substring(beginIndex,endIndex)) ;   //张三
   }      
}

在以后的实际开发之中,这种通过计算来确定索引的情况非常常见。

字符串格式化

从JDK1.5开始为了吸引更多的传统开发人员,Java提供有了格式化数据的处理操作。类似于C语言之中的格式化输出语句。可以利用占位符实现数据的输出,对于占位符而言,常用的:字符串(%s)、字符(%c)、整数(%d)、小数(%f)等来描述。

No. 方法名称 类型 描述
01 public static String format(String format,各种类型... args) 普通 根据指定结构进行文本格式化显示

范例:观察格式化处理

public class StringDemo{
   public static void main(String args[]) {
       String name = “张三” ;
       int age = 18 ;
       double score = 98.765321 ;
       String str = String.format(“姓名:%s、年龄:%d、成
绩:%5.2f。”,name ,age ,score) ;
       System.out.println(str) ;   
   }      
}

详解字符串拆、截、格式化之法   | 带你学《Java面向对象编程》之三十四
图五 执行结果五

这种格式化的输出操作算是String 的一个附加功能。
想学习更多的Java的课程吗?从小白到大神,从入门到精通,更多精彩不容错过!免费为您提供更多的学习资源。
本内容视频来源于阿里云大学

下一篇:领略String完美侧颜-其他操作方法 | 带你学《Java面向对象编程》之三十五
更多Java面向对象编程文章查看此处

相关阅读