当前位置: 首页 > news >正文

旅游网站开发建设方案谁做的12306网站

旅游网站开发建设方案,谁做的12306网站,招聘网站报表怎么做,天津市建设厅官方网站字符串#xff0c;是Java中最常用的一个数据类型了。我们在日常开发时候会经常使用字符串做很多的操作。比如字符串的拼接、截断、替换等。本文我们介绍一个比较常见又容易被忽略的一个操作#xff0c;那就是移除字符串中的空格。其实#xff0c;在Java中从字符串中删除空格… 字符串是Java中最常用的一个数据类型了。我们在日常开发时候会经常使用字符串做很多的操作。比如字符串的拼接、截断、替换等。本文我们介绍一个比较常见又容易被忽略的一个操作那就是移除字符串中的空格。其实在Java中从字符串中删除空格有很多不同的方法如trimreplaceAll等。但是在Java 11添加了一些新的功能如strip、stripLeading、stripTrailing等。大多数时候我们只是使用trim方法来删除多余的空格。但是好像很多人并没有去思考过是否有更好的方式呢当然trim()在大多数情况下都工作得很好但是Java中有许多不同的方法。每一种都有自己的优点和缺点。我们如何决定哪种方法最适合我们呢接下来我们将介绍几种方法并对比下他们的区别和优缺点等。在java中从字符串中删除空格的不同方法首先我们来看一下想要从String中移除空格部分有多少种方法作者根据经验总结了以下7种JDK原生自带的方法不包含第三方工具类库中的类似方法trim() : 删除字符串开头和结尾的空格。strip() : 删除字符串开头和结尾的空格。stripLeading() : 只删除字符串开头的空格stripTrailing() : 只删除字符串的结尾的空格replace() : 用新字符替换所有目标字符replaceAll() : 将所有匹配的字符替换为新字符。此方法将正则表达式作为输入以标识需要替换的目标子字符串replaceFirst() : 仅将目标子字符串的第一次出现的字符替换为新的字符串需要注意的最重要的一点是在Java中String对象是不可变的这意味着我们不能修改字符串因此以上所有的方法我们得到的都是一个新的字符串。接下啦我们分别针对以上这几个方法学习下用法了解下其特性。PS本文代码都是使用在线运行工具https://www.jdoodle.com/online-java-compiler/ 执行的因为我的测试机并未安装Java 11并且Unicode字符也不完整。如果大家也想实验建议使用在线工具选择对应的JDK即可。trimtrim()是Java开发人员最常用的删除字符串开头和结尾的空格方法。其用法也比较简单public class StringTest {public static void main(String[] args) {String stringWithSpace     Hollis   Is   A   Java   Coder   ;StringTest.trimTest(stringWithSpace);}private static void trimTest(String stringWithSpace){System.out.println(Before trim : \  stringWithSpace  \);String stringAfterTrim  stringWithSpace.trim();System.out.println(After trim : \  stringAfterTrim  \);}} 输出结果Before trim :    Hollis   Is   A   Java   Coder   After trim : Hollis   Is   A   Java   Coder 如上使用trim之后原字符串中开头和结尾部分的空格内容都被移除掉了。但是不知道大家有没有思考过trim方法移除的空白内容都包含哪些东西除了空格以外还有其他的字符吗其实trim移除的空白字符指的是指ASCII值小于或等于32的任何字符( U0020 )其中包含了空格、换行、退格等字符。strip()不知道大家有没有注意到在Java 11的发行版中添加了新的strip()方法来删除字符串中的前导和末尾空格。已经有了一个trim方法为什么还要新增一个strip呢这其实是是因为trim方法只能针对ASCII值小于等于32的字符进行移除但是根据Unicode标准除了ASCII中的字符以外还是有很多其他的空白字符的。而且为了识别这些空格字符从Java 1.5开始还在Character类中添加了新的isWhitespace(int)方法。该方法使用unicode来标识空格字符。你可以在http://jkorpela.fi/chars/spaces.html 了解更多关于unicode空格字符的信息。而在Java 11中新增的这个strip方法就是使用这个Character.isWhitespace(int)方法来判断是否为空白字符并删除它们的下面我们来看一个使用strip例子public class StringTest {public static void main(String args[]) {String stringWithSpace \u2001    Hollis   Is   A   Java   Coder    \u2001;System.out.println(  \u2001   is space :    Character.isWhitespace(\u2001));StringTest.stripTest(stringWithSpace);}private static void stripTest(String stringWithSpace){System.out.println(Before strip : \  stringWithSpace  \);String stringAfterTrim  stringWithSpace.strip();System.out.println(After strip : \  stringAfterTrim  \);}} 我们在字符串前后都增加了一个特殊的字符\u2001这个字符是不在ASCII中的经过Character.isWhitespace判断他是一个空白字符。然后使用strip进行处理输出结果如下  is space : trueBefore strip :    Hollis   Is   A   Java   Coder   After strip : Hollis   Is   A   Java   Coder 所以Java 11 中的 strip 方法要比trim方法更加强大他可以移除很多不在ASCII中的空白字符判断方式就是通过Character.isWhitespace方法。trim 和 strip 方法的区别上面我们介绍了两个都可以移除字符串开头和结尾的方法分别是trim 和 strip再来对比下他们的区别stripLeading() 和 stripTrailing()stripLeading()和stripTrailing()方法也都是在Java 11中添加的。作用分别是删除字符串的开头的空格以及删除字符串的末尾的空格。与strip方法类似stripLeading、stripTrailing也使用Character.isWhitespace(int)来标识空白字符。用法也和strip类似public class StringTest {public static void main(String args[]) {String stringWithSpace \u2001    Hollis   Is   A   Java   Coder    \u2001;System.out.println(  \u2001   is space :    Character.isWhitespace(\u2001));StringTest.stripLeadingTest(stringWithSpace);StringTest.stripTrailingTest(stringWithSpace);}private static void stripLeadingTest(String stringWithSpace){System.out.println(Before stripLeading : \  stringWithSpace  \);String stringAfterTrim  stringWithSpace.stripLeading();System.out.println(After stripLeading : \  stringAfterTrim  \);}private static void stripTrailingTest(String stringWithSpace){System.out.println(Before stripTrailing : \  stringWithSpace  \);String stringAfterTrim  stringWithSpace.stripTrailing();System.out.println(After stripTrailing : \  stringAfterTrim  \);}} 输出结果  is space : trueBefore stripLeading :    Hollis   Is   A   Java   Coder   After stripLeading : Hollis   Is   A   Java   Coder   Before stripTrailing :    Hollis   Is   A   Java   Coder   After stripTrailing :    Hollis   Is   A   Java   Coder replace移除字符串中的空白字符除了使用trim、strip以外还有一个办法那就是使用replace方法把其中的空白字符替换掉。replace是从java 1.5中添加的可以用指定的字符串替换每个目标子字符串。此方法替换所有匹配的目标元素使用方式如下 public class StringTest {public static void main(String args[]) {String stringWithSpace   Hollis   Is   A   Java   Coder  ;StringTest.replaceTest(stringWithSpace);}private static void replaceTest(String stringWithSpace){System.out.println(Before replace : \  stringWithSpace  \);String stringAfterTrim  stringWithSpace.replace( , );System.out.println(After replace : \  stringAfterTrim  \);}} 结果Before replace :   Hollis   Is   A   Java   Coder  After replace : HollisIsAJavaCoder 可见以上使用replace方法可以替换掉字符串中的所有空白字符。特别需要注意的是replace方法和trim方法一样只能替换掉ASCII中的空白字符。replaceAllreplaceAll是Java 1.4中添加的最强大的字符串操作方法之一。我们可以将这种方法用于许多目的。使用replaceAll()方法我们可以使用正则表达式来用来识别需要被替换的目标字符内容。使用正则表达式就可以实现很多功能如删除所有空格删除开头空格删除结尾空格等等。我们只需要用正确的替换参数创建正确的正则表达式。一些正则表达式的例子如下:\s   所有的空白字符^\s      字符串开头的所有空白字符\s$      字符串结尾的所有空白字符 注意在java中要添加/我们必须使用转义字符所以对于\s 我们必须使用 \\spublic class StringTest {public static void main(String args[]) {String stringWithSpace   Hollis   Is   A   Java   Coder  ;StringTest.replaceAllTest(stringWithSpace, );StringTest.replaceAllTest(stringWithSpace,\\s);StringTest.replaceAllTest(stringWithSpace,^\\s);StringTest.replaceAllTest(stringWithSpace,\\s$);}private static void replaceAllTest(String stringWithSpace,String regex){System.out.println(Before replaceAll with  regex : \  stringWithSpace  \);String stringAfterTrim  stringWithSpace.replaceAll(regex, );System.out.println(After replaceAll with  regex : \  stringAfterTrim  \);}} 结果Before replaceAll with  :   Hollis   Is   A   Java   Coder  After replaceAll with  : HollisIsAJavaCoderBefore replaceAll with \s:   Hollis   Is   A   Java   Coder  After replaceAll with \s: HollisIsAJavaCoderBefore replaceAll with ^\s:   Hollis   Is   A   Java   Coder  After replaceAll with ^\s: Hollis   Is   A   Java   Coder  Before replaceAll with \s$:   Hollis   Is   A   Java   Coder  After replaceAll with \s$:   Hollis   Is   A   Java   Coder 正如我们所看到的如果将replaceAll()与适当的正则表达式一起使用它将是非常强大的方法。replaceFirstreplaceFirst方法也是在java 1.4中添加的它只将给定正则表达式的第一个匹配项替换为替换字符串。如果您只需要替换第一次出现的情况那么这个方法非常有用。例如如果我们只需要删除前导空格我们可以使用\\s或^\\s。我们还可以通过使用\\s$正则表达式使用此方法来删除末尾空格。因为这个表达式将只匹配行的最后一个空格。因此最后的空格被认为是这个方法的第一个匹配。让我们举一个从字符串中删除前导和尾随空格的例子public class StringTest {public static void main(String args[]) {String stringWithSpace   Hollis   Is   A   Java   Coder  ;StringTest.replaceFirstTest(stringWithSpace, );StringTest.replaceFirstTest(stringWithSpace,\\s);StringTest.replaceFirstTest(stringWithSpace,^\\s);StringTest.replaceFirstTest(stringWithSpace,\\s$);}private static void replaceFirstTest(String stringWithSpace,String regex){System.out.println(Before replaceFirst with  regex : \  stringWithSpace  \);String stringAfterTrim  stringWithSpace.replaceFirst(regex, );System.out.println(After replaceFirst with  regex : \  stringAfterTrim  \);}} 结果Before replaceFirst with  :   Hollis   Is   A   Java   Coder  After replaceFirst with  :  Hollis   Is   A   Java   Coder  Before replaceFirst with \s:   Hollis   Is   A   Java   Coder  After replaceFirst with \s: Hollis   Is   A   Java   Coder  Before replaceFirst with ^\s:   Hollis   Is   A   Java   Coder  After replaceFirst with ^\s: Hollis   Is   A   Java   Coder  Before replaceFirst with \s$:   Hollis   Is   A   Java   Coder  After replaceFirst with \s$:   Hollis   Is   A   Java   Coder 总结本文介绍了7种移除字符串中的空白字符的方法。想要直接移除掉字符串开头的空白字符可以使用stripLeading、replaceAll和replaceFirst想要直接移除掉字符串末尾的空白字符可以使用stripTrailing、replaceAll和replaceFirst想要同时移除掉字符串开头和结尾的空白字符可以使用strip、trim想要移除掉字符串中的所有空白字符可以使用replace和replaceAll而Java 11种新增的strip、stripTrailing以及stripLeading方法可以移除的字符要比其他方法多他可以移除的空白字符不仅仅局限于ASCII中的字符而是Unicode中的所有空白字符具体判断方式可以使用Character.isWhitespace进行判断。 往期推荐 磊哥工作十几年了竟没有用过do-while文末送书2020-09-06 多图证明Java到底是值传递还是引用传递2020-09-02 阿里为什么推荐使用LongAdder而不是volatile2020-08-25 关注下方二维码收获更多干货
http://www.zqtcl.cn/news/202179/

相关文章:

  • 如何识别一个网站是否做的好坏新河官网
  • 深圳网站建设 卓教育直播网站开发
  • 如何修改网站后台密码河南省罗山县做网站的公司
  • 个人网站免费源码大全湖南长沙新增病例最新消息
  • 途牛网站开发需求邯郸市中小学健康管理平台登录
  • 青岛商城网站开发年度关键词有哪些
  • 电商网站开发文献综述网站文案优化
  • 兼职工厂网站建设万维网的代表网站
  • 企业要建设一个网站需要多少钱网站制作的关键技术
  • 大连住房和城乡建设网站工程公司取名字大全
  • 自建网站投放广告网页设计色彩搭配
  • 网站建站公司哪家价钱合理seo优化是什么职位
  • 德州建设网站网络营销推广方式
  • 网站建设经费预算策划书河南省城乡建设厅网站
  • 校园二手网站开发与设计任务书wordpress 分类名称
  • 高端网站建设那公司好简约网站设计欣赏
  • 域名的网站建设方案书wordpress图片插件
  • 哪个网站做的w7系统好百度网络营销的概念
  • 哪里接单做网站怎么个人网站设计
  • 乐陵seo网站优化网站后期维护是做什么
  • 网站导航html源码网站编辑的工作职能有哪些
  • 品牌网站建设网wordpress密码保护文章
  • 体彩网站开发网站建设备案流程图
  • 云南网站建设天度网页界面设计遵循的原则
  • dede多个网站怎么做wordpress+adsense主题
  • 如何做网站营销江苏网站建设系统服务
  • 公司网站需要备案网络设置怎么设置
  • 网站正在建设中中文模板廊坊网站优化
  • 8免费网站建站网页网站模板
  • 网站开发算法面试滨州建设工程备案网站