当前位置:首页 >书记竞聘演讲稿 >java中String字符串删除空格的七种方式 正文

java中String字符串删除空格的七种方式

2023-10-05 04:52:54 来源:演讲稿网作者:淮安市演讲稿 点击:175次

在Java中从字符串中删除空格有很多不同的方法,如trim,replaceAll等。但是,在JDK11添加了一些新的功能,如strip、stripLeading、stripTrailing等。

想要从String中移除空格部分,有多少种方法,下面介绍JDK原生自带的方法,不包含第三方工具类库中的类似方法

trim():删除字符串开头和结尾的空格。strip():删除字符串开头和结尾的空格。stripLeading():只删除字符串开头的空格stripTrailing():只删除字符串的结尾的空格replace():用新字符替换所有目标字符replaceAll():将所有匹配的字符替换为新字符。此方法将正则表达式作为输入,以标识需要替换的目标子字符串replaceFirst():仅将目标子字符串的第一次出现的字符替换为新的字符串

需要注意的最重要的一点是,在Java中String对象是不可变的,这意味着我们不能修改字符串,因此以上所有的方法我们得到的都是一个新的字符串。

在线运行工具

trim()

trim()是Java开发人员最常用的删除字符串开头和结尾的空格方法

输出结果

Beforetrim:' Hellowordjava 'Aftertrim:'Hellowordjava'

使用trim之后,原字符串中开头和结尾部分的空格内容都被移除掉了。其实,trim移除的空白字符指的是指ASCII值小于或等于32的任何字符(’U+0020'):

strip()

JDK11的发行版中,添加了新的strip()方法来删除字符串中的前导和末尾空格。

trim方法只能针对ASCII值小于等于32的字符进行移除,但是根据Unicode标准,除了ASCII中的字符以外,还是有很多其他的空白字符的。

而且为了识别这些空格字符,从Java1.5开始,还在Character类中添加了新的isWhitespace(int)方法。该方法使用unicode来标识空格字符。你可以在http://jkorpela.fi/chars/spaces.html了解更多关于unicode空格字符的信息。

而在Java11中新增的这个strip方法就是使用这个Character.isWhitespace(int)方法来判断是否为空白字符并删除它们的:

strip示例

结果

' 'isspace:trueBeforestrip:'  Hellowordjava  'Afterstrip:'Hellowordjava'

Java11中的strip()方法要比trim()方法更加强大,他可以移除很多不在ASCII中的空白字符,判断方式就是通过Character.isWhitespace()方法。

trim()和strip()方法的区别

trimstripJava1引入Java11引入使用ASCII使用Unicode值删除开头和结尾的空白字符删除开头和结尾的空白字符删除ASCII值小于或等于’U+0020’或’32’的字符根据unicode删除所有空白字符

stripLeading()和stripTrailing()

stripLeading()和stripTrailing()方法也都是在Java11中添加的。作用分别是删除字符串的开头的空格以及删除字符串的末尾的空格。stripLeading、stripTrailing也使用Character.isWhitespace(int)来标识空白字符。用法也和strip类似:

输出结果:

' 'isspace:true删除开头的空白字符BeforestripLeading:'  Hellowordjava  'AfterstripLeading:'Hellowordjava  '删除结尾的空白字符BeforestripTrailing:'  Hellowordjava  'AfterstripTrailing:'  Hellowordjava'

replace

replace是从java1.5中添加的,可以用指定的字符串替换每个目标子字符串。

此方法替换所有匹配的目标元素

结果:

Beforereplace:' Hellowordjava 'Afterreplace:'Hellowordjava'

使用replace方法可以替换掉字符串中的所有空白字符。特别需要注意的是,replace方法和trim方法一样,只能替换掉ASCII中的空白字符。

replaceAll

replaceAll是Jdk1.4中添加的最强大的字符串操作方法之一。我们可以将这种方法用于许多目的。使用replaceAll()方法,我们可以使用正则表达式来用来识别需要被替换的目标字符内容。使用正则表达式,就可以实现很多功能,如删除所有空格,删除开头空格,删除结尾空格等等。

\s+ 所有的空白字符^\s+   字符串开头的所有空白字符\s+$   字符串结尾的所有空白字符

在java中要添加\我们必须使用转义字符,所以对于\s+我们必须使用\\s+

replaceAll(regex,“”);//将正则表达式匹配到的内容,替换为""

BeforereplaceAllwith'':' Hellowordjava 'AfterreplaceAllwith'':'Hellowordjava'BeforereplaceAllwith'\s+':' Hellowordjava 'AfterreplaceAllwith'\s+':'Hellowordjava'BeforereplaceAllwith'^\s+':' Hellowordjava 'AfterreplaceAllwith'^\s+':'Hellowordjava 'BeforereplaceAllwith'\s+$':' Hellowordjava 'AfterreplaceAllwith'\s+$':' Hellowordjava'

replaceFirst

replaceFirst方法也是在jdk1.4中添加的,它只将给定正则表达式的第一个匹配项替换为替换字符串。

结果:

BeforereplaceFirstwith'':' Hellowordjava 'AfterreplaceFirstwith'':'Hellowordjava 'BeforereplaceFirstwith'\s+':' Hellowordjava 'AfterreplaceFirstwith'\s+':'Hellowordjava 'BeforereplaceFirstwith'^\s+':' Hellowordjava 'AfterreplaceFirstwith'^\s+':'Hellowordjava 'BeforereplaceFirstwith'\s+$':' Hellowordjava 'AfterreplaceFirstwith'\s+$':' Hellowordjava'

总结

想要直接移除掉字符串开头的空白字符,可以使用stripLeading、replaceAll和replaceFirst

想要直接移除掉字符串末尾的空白字符,可以使用stripTrailing、replaceAll和replaceFirst

想要同时移除掉字符串开头和结尾的空白字符,可以使用strip、trim

想要移除掉字符串中的所有空白字符,可以使用replace和replaceAll

而Java11种新增的strip、stripTrailing以及stripLeading方法,可以移除的字符要比其他方法多,他可以移除的空白字符不仅仅局限于ASCII中的字符,而是Unicode中的所有空白字符,具体判断方式可以使用Character.isWhitespace进行判断。

到此这篇关于java中String字符串删除空格的七种方式的文章就介绍到这了,更多相关javaString字符串删除空格内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

作者:宜兰县演讲稿
------分隔线----------------------------
专业代写演讲稿
  • QQ号:1367771518
  • 微信:yjgfw_51yjg
  • 邮箱:51yjg@163.com
  • 手机:18911358095
热点演讲稿
推荐演讲稿
演讲稿排行榜
专业代写演讲稿
  • QQ号:1367771518
  • 微信:yjgfw_51yjg
  • 邮箱:51yjg@163.com
  • 手机:18911358095