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

简介: 本节结合多组代码详细介绍了字符串拆分、截取与格式化相关的方法及其使用方法。

上一篇:迅速学会字符串查找与替换 | 带你学《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]) ;   
       }
   }      
}

image.png
图一 执行结果一

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

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]) ;   
       }
   }      
}

image.png
图二 执行结果二

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

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]) ;   
       }
    }      
}

image.png
图三 执行结果三

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]) ;   
       }
   }      
}

image.png
图四 执行结果四

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

字符串截取

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

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) ;   
   }      
}

image.png
图五 执行结果五

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

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

相关文章
|
9天前
|
SQL JSON Java
告别字符串拼接:用Java文本块优雅处理多行字符串
告别字符串拼接:用Java文本块优雅处理多行字符串
211 108
|
2月前
|
存储 Java
Java LocalDateTime与hutool DateUtil实现秒转换为时分秒格式化展示。
注意:以上代码示例仅适合于处理小于24小时内(86400s) 总积 因 LocalDateTime 和 Local Time 不支持超过24小时表达而 huo tool示例虽然理论上支持但未考虑超过24小时情况下可能出现负值等异常情况处理细节需用户自行添加相关逻辑以确保正确性.
171 7
|
3月前
|
自然语言处理 Java Apache
在Java中将String字符串转换为算术表达式并计算
具体的实现逻辑需要填写在 `Tokenizer`和 `ExpressionParser`类中,这里只提供了大概的框架。在实际实现时 `Tokenizer`应该提供分词逻辑,把输入的字符串转换成Token序列。而 `ExpressionParser`应当通过递归下降的方式依次解析
237 14
|
3月前
|
SQL JSON Java
告别拼接噩梦:Java文本块让多行字符串更优雅
告别拼接噩梦:Java文本块让多行字符串更优雅
384 82
|
7月前
|
存储 缓存 安全
Java字符串缓冲区
字符串缓冲区是用于处理可变字符串的容器,Java中提供了`StringBuffer`和`StringBuilder`两种实现。由于`String`类不可变,当需要频繁修改字符串时,使用缓冲区更高效。`StringBuffer`是一个线程安全的容器,支持动态扩展、任意类型数据转为字符串存储,并提供多种操作方法(如`append`、`insert`、`delete`等)。通过这些方法,可以方便地对字符串进行添加、插入、删除等操作,最终将结果转换为字符串。示例代码展示了如何创建缓冲区对象并调用相关方法完成字符串操作。
144 13
|
7月前
|
存储 缓存 安全
Java 字符串详解
本文介绍了 Java 中的三种字符串类型:String、StringBuffer 和 StringBuilder,详细讲解了它们的区别与使用场景。String 是不可变的字符串常量,线程安全但操作效率较低;StringBuffer 是可变的字符串缓冲区,线程安全但性能稍逊;StringBuilder 同样是可变的字符串缓冲区,但非线程安全,性能更高。文章还列举了三者的常用方法,并总结了它们在不同环境下的适用情况及执行速度对比。
169 17
|
20天前
|
数据采集 存储 弹性计算
高并发Java爬虫的瓶颈分析与动态线程优化方案
高并发Java爬虫的瓶颈分析与动态线程优化方案
Java 数据库 Spring
59 0
|
1月前
|
算法 Java
Java多线程编程:实现线程间数据共享机制
以上就是Java中几种主要处理多线程序列化资源以及协调各自独立运行但需相互配合以完成任务threads 的技术手段与策略。正确应用上述技术将大大增强你程序稳定性与效率同时也降低bug出现率因此深刻理解每项技术背后理论至关重要.
88 16