java 字符串 空白字符_Java String中移除空白字符的多种方式汇总

article/2025/8/17 13:32:05

前言

字符串,是Java中最常用的一个数据类型了。我们在日常开发时候会经常使用字符串做很多的操作。比如字符串的拼接、截断、替换等。

这一篇文章,我们介绍一个比较常见又容易被忽略的一个操作,那就是移除字符串中的空格。

其实,在Java中从字符串中删除空格有很多不同的方法,如trim,replaceAll等。但是,在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/onlin... )执行的,因为我的测试机并未安装Java 11,并且Unicode字符也不完整。如果大家也想实验,建议使用在线工具,选择对应的JDK即可。

trim

trim()是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的任何字符(' U+0020 '):

e58abc228d25c8fd04959b291fb0a6c0.png

其中包含了空格、换行、退格等字符。


http://chatgpt.dhexx.cn/article/OrjSF1V3.shtml

相关文章

Spark 高级数据分析(第2版)

内容简介 作为计算框架,Spark 速度快,开发简单,能同时兼顾批处理和实时数据分析,因此很快被广大企业级用户所采纳,并随着近年人工智能的崛起而成为分析和挖掘大数据的重要得力工具。 本书由业内知名数据科学家执笔&a…

XGBoost与LightGBM文本分类

目录 用户评论情感极性判别 一、数据准备 二、数据预处理 三、文本特征提取 四、将数据转换为DMatrix类型 五、构建XGBoost模型 1、XGBoost模型主要参数 (1)通用参数 (2)Booster参数 (3)学习目标…

文本分类概念类大总结(机器学习+深度学习)

基础普及: https://zhuanlan.zhihu.com/p/25928551 综述类(有不同算法在各数据集上的性能对比):   Deep Learning Based Text Classification:A Comprehensive Review(20.04)   A Survey on Text Class…

新闻个性化推荐综述

MIND: A Large-scale Dataset for News Recommendation ACL 2020 0. 摘要 新闻推荐是实现个性化新闻服务的一项重要技术。与已经被广泛研究的产品推荐和电影推荐相比,新闻推荐的研究非常有限,主要是因为缺乏高质量的基准数据集。本文提出了一个名为MI…

新基建之数据中心

绪论 4月20日上午,国家发展改革委通过网上方式举行4月份新闻发布会。会上回答了彭博社记者关于新型基础设施建设的提问。内容如下: 目前来看,新型基础设施主要包括3个方面内容: 一是信息基础设施。主要是指基于新一代信息技术演…

机器学习案例实战:Python文本数据分析新闻分类任务

原创文章,如需转载请保留出处 本博客为唐宇迪老师python数据分析与机器学习实战课程学习笔记一. 文本分析与关键词提取 1.1 文本数据 1.2 停用词 语料中大量出现没啥大用留着过年吗 1.3 Tf-idf:关键词提取 《中国的蜜蜂养殖》:进行词频(…

音视频融合综述

文章目录 前言摘要正文1介绍音视频特征提取和融合类型融合的技术挑战依赖问题同步问题数据问题 最近的进展和研究方法异步动态加权深度学习多模态融合学习:跨模式学习:共享学习DL使用经验多视图学习 总结 个人总结与思考 前言 最近需要加强相关领域的深…

从0到1构建新闻长文本分类系统

新闻分类系统概述 新闻分类系统,顾名思义,就是对于一片新闻或者是一片文章,进行自动的分类,例如政治,财经,娱乐等等 从技术角度讲,其实属于自然语言处理中比较经典的文本分类问题。当然在一个工业级别的分…

谈文本分类

本文来自对《文本分类研究综述》汪岿的阅读 文章目录 1. 为什么要进行文本分类2. 文本分类的分类、应用3. 当前文本分类面临的挑战4. 文本分类的前景 1. 为什么要进行文本分类 在大数据时代,网络上的文本数据日益增长。采用文本分类技术对海量数据进行科学地组织和…

多模态融合技术综述和应用

文章目录 多模态技术基础1,多模态融合架构(神经网络模型的基本结构形式)1.1联合架构1.2协同架构1.3编解码架构(自监督) 2,多模态融合方法2.1早期融合2.2 晚期融合2.3混合融合 3,模态对齐方法3.1…

大数据分析案例-基于随机森林算法构建新闻文本分类模型

🤵‍♂️ 个人主页:@艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞👍🏻 收藏 📂加关注+ 喜欢大数据分析项目的小伙伴,希望可以多多支持该系列的其他文章 大数据分析案例合集…

【数据挖掘】天池挑战赛 新闻推荐

比赛网址:https://tianchi.aliyun.com/competition/entrance/531842/introduction 项目源码:Github 一、项目知识点 数据预处理; 数据可视化; 特征工程; 模型选择; 实验结果的评价; 二、…

python-新闻文本分类详细案例-(数据集见文末链接)

文章目录 分析思路所用数据集一、导入相关包二、数据分析1.读取数据2. jieba分词并去除停用词3. TF-IDF4. 网格搜索寻最优模型及最优参数5. 预测并评估预测效果 总结 分析思路 新闻文本数据包含四类新闻,分别用1,2,3,4 表示。 &a…

NetWORK ShortCuts 创建

很多时候我们创建了很多SHARE DRIVE的SHOT CUT: 但是我们不知道他们的路径在哪里,在下一台新电脑的时候,我们又要重新创建?NONONO, 我们打开其中一个SHORT CUT 我们点一下 "Proposal_Content_RPA" 右边的空…

shortcuts实现

1.使用条件 android 7.1以上 2.功能说明 长按桌面app图标出现快捷方式列表,点击可跳转到app的指定界面,用户也可以将其作为一个单独的快捷方式 3.效果截图 3.技术实现 分为两种方式,静态xml配置和动态代码配置,二者各有优劣&#…

Android ShortCuts使用

ShortCuts是什么? Shortcuts是指在桌面长按app图标而出现的快捷方式,可以为你的app的关键功能添加更加快速的入口而不是先打开app 点击快捷方式可以访问应用功能,而且这种快捷方式也可以被拖拽到桌面的单独位置,变成单独的左面快…

Android App Shortcuts

周五了,周末还远吗?~ 加入我知识星球的人都得到了提升,可不要错过哦~ 点击阅读原文即可。 本文较长,阅读大约十分钟 ~ 我们都知道iPhone6S推出了3D Touch的功能,也算是一个大卖点,Google也后来居上&#xf…

Linux下cut命令用法详解

Linux下cut命令用法详解 原创:frozen_sucker(冰棍) 有时我们经常会遇到这样一些问题:有一页电话号码薄,上面按顺序规则地写着人名、家庭住址、电话、备注等,此时我们只想取出所有人的名字和其对应的电话号码,你有几种…

使用Dynamic Shortcuts

在看完Static Shortcuts后, 我们不相信Google仅仅给我们开发者开放了局限性如此大的使用方式, 肯定还会存在灵活性更大的API, 是的, 这就是我们马上要讲的Dynamic Shortcuts, 我把它称为动态配置. 说起动态配置, 那肯定是用java代码实现了, 那如何实现呢? 首先第一步, 我们需…

Shortcuts,让你可以在系统的桌面上为所欲为

/ 今日科技快讯 / 近日,有用户刷抖音时看到烤虾广告下单,实付款194元买了250克烤虾干,货到付款后发现是三无产品,且外形口感与广告宣传天差地别。对此抖音表示,已对此事展开相关调查,并下架涉嫌虚假宣传…