首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >从字符串中删除所有空格的有效方法?

从字符串中删除所有空格的有效方法?
EN

Stack Overflow用户
提问于 2011-06-02 19:35:27
回答 17查看 680.5K关注 0票数 434

我正在调用一个REST API,并收到了一个XML响应。它返回一个工作区名称列表,我正在编写一个快速的IsExistingWorkspace()方法。由于所有工作区都由不带空格的连续字符组成,因此我假设找出特定工作区是否在列表中的最简单方法是删除所有空格(包括换行符)并执行此操作(XML是从web请求接收的字符串):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
XML.Contains("<name>" + workspaceName + "</name>");

我知道它是区分大小写的,我依赖于此。我只需要一种方法来有效地删除字符串中的所有空格。我知道RegEx和LINQ可以做到这一点,但我对其他想法持开放态度。我最关心的是速度。

EN

回答 17

Stack Overflow用户

回答已采纳

发布于 2011-06-02 19:38:30

这是我所知道的最快的方法,即使你说你不想使用正则表达式:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Regex.Replace(XML, @"\s+", "");

在注释中记入@hypehuman,如果您计划多次执行此操作,请创建并存储一个Regex实例。这将节省每次构建它的开销,这比您想象的更昂贵。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
private static readonly Regex sWhitespace = new Regex(@"\s+");
public static string ReplaceWhitespace(string input, string replacement) 
{
    return sWhitespace.Replace(input, replacement);
}
票数 726
EN

Stack Overflow用户

发布于 2013-01-29 19:58:53

我有一种不使用regexp的替代方法,它似乎执行得很好。这是Brandon Moretz答案的延续:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 public static string RemoveWhitespace(this string input)
 {
    return new string(input.ToCharArray()
        .Where(c => !Char.IsWhiteSpace(c))
        .ToArray());
 }

我在一个简单的单元测试中对其进行了测试:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[Test]
[TestCase("123 123 1adc \n 222", "1231231adc222")]
public void RemoveWhiteSpace1(string input, string expected)
{
    string s = null;
    for (int i = 0; i < 1000000; i++)
    {
        s = input.RemoveWhitespace();
    }
    Assert.AreEqual(expected, s);
}

[Test]
[TestCase("123 123 1adc \n 222", "1231231adc222")]
public void RemoveWhiteSpace2(string input, string expected)
{
    string s = null;
    for (int i = 0; i < 1000000; i++)
    {
        s = Regex.Replace(input, @"\s+", "");
    }
    Assert.AreEqual(expected, s);
}

对于1,000,000次尝试,第一个选项(没有regexp)的运行时间不到一秒(在我的机器上是700ms),第二个选项需要3.5秒。

票数 216
EN

Stack Overflow用户

发布于 2011-06-02 19:43:28

在C#中尝试字符串的replace方法。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
XML.Replace(" ", string.Empty);
票数 101
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6219454

复制
相关文章
php删除字符串的空格
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/105882.html原文链接:https://javaforall.cn
全栈程序员站长
2022/08/09
3.6K0
使用 Python 从字典键中删除空格
Python是广泛用于数据分析,Web开发,AI的平台,并在自动化的帮助下执行许多不同类型的任务。对我们来说,了解 python 的不同功能很重要。在本文中,我们将了解字典功能以及如何使用 python 删除键之间的空格。此功能主要用于根据需要存储和检索数据,但有时字典的键值之间可能存在空格。当用户希望访问数据时,甚至在要编辑数据的情况下,这会导致错误。
很酷的站长
2023/08/11
3080
使用 Python 从字典键中删除空格
C#如何删除字符串中任何位置的空格?
你或许知道你能使用String.Trim()方法,去除字符串的头和尾的空格。不幸运的是,这个Trim方法不能去除字符串中间的C#空格。
高一峰
2020/09/22
11.8K0
C#如何删除字符串中任何位置的空格?
删除字符串中的所有相邻重复项
例如,在 "abbaca" 中,我们可以删除 "bb" 由于两字母相邻且相同,这是此时唯一可以执行删除操作的重复项。之后我们得到字符串
ruochen
2021/12/15
4.8K0
如何从 Python 列表中删除所有出现的元素?
在 Python 中,列表是一种非常常见且强大的数据类型。但有时候,我们需要从一个列表中删除特定元素,尤其是当这个元素出现多次时。本文将介绍如何使用简单而又有效的方法,从 Python 列表中删除所有出现的元素。
网络技术联盟站
2023/06/01
12.3K0
LeetCode - 删除字符串中的所有相邻重复项
该题是LeetCode第137次周赛的编号为1047的题目,三周前的一次周赛,其实我都已经忘了题目了...毫无印象三周前我也参加了周赛。
晓痴
2019/07/24
3K0
LeetCode - 删除字符串中的所有相邻重复项
Excel公式:删除字符串中的所有数字
有时候,可能是由于输入的原因,也可能是由于从网上直接下载的数据,数据中的字符串中夹杂着一些数字,而我们又不想要这些数字,因此,需要从字符串中删除这些数字。
fanjy
2022/11/16
3K0
js去除字符中的所有空格
一般实现这种都是使用正则,例如以下代码: var trim = function(str){ return str.replace(/\s*/g,""); } str.replace(/\s*/g,""); //去除字符串内所有的空格 str.replace(/^\s*|\s*$/g,""); //去除字符串内两头的空格 str.replace(/^\s*/,""); //去除字符串内左侧的空格 str.replace(/(\s*$)/g,""); //去除字符串内右侧的空格 另外还可以使用join来实现,
IT工作者
2022/01/24
10.4K0
删除字符串空格(每日一练)
在程序中输入一个字符串,编写程序删除字符串中所有空格,删除空格后,输出字符串。要求使用指针的方法解决。
pigeon
2022/04/11
6700
Python从字符串中删除字符
Sometimes we want to remove all occurrences of a character from a string. There are two common ways to achieve this.
全栈程序员站长
2022/09/01
5.8K0
[Leetcode 2021 刷题计划] 1047. 删除字符串中的所有相邻重复项
给出由小写字母组成的字符串 S,重复项删除操作会选择两个相邻且相同的字母,并删除它们。
windism
2021/03/09
2K0
1047. 删除字符串中的所有相邻重复项
给出由小写字母组成的字符串 S,重复项删除操作会选择两个相邻且相同的字母,并删除它们。
chuckQu
2022/08/19
1.7K0
php案例:删除字符串两端的空格
php中$ _request可以获取以POST方法和GET方法提交的数据,但是$ _request[]比较慢。通过post和get方法提交的所有数据都可以通过$ _REQUEST数组获得.
贵哥的编程之路
2022/10/04
1.8K0
php案例:删除字符串两端的空格
Python字符串中删除特定字符的方法
这篇文章主要介绍了Python字符串中删除特定字符的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 分析
全栈程序员站长
2022/06/28
6.5K0
Python字符串中删除特定字符的方法
1209. 删除字符串中的所有相邻重复项 II
给你一个字符串 s,「k 倍重复项删除操作」将会从 s 中选择 k 个相邻且相等的字母,并删除它们,使被删去的字符串的左侧和右侧连在一起。
chuckQu
2022/08/19
1.5K0
LeetCode 1047. 删除字符串中的所有相邻重复项
https://leetcode-cn.com/problems/remove-all-adjacent-duplicates-in-string/
freesan44
2021/10/15
1.4K0
LeetCode 1047. 删除字符串中的所有相邻重复项
[785]python去掉字符串中多余的空格
参考:https://www.jianshu.com/p/25def1847697 https://blog.csdn.net/baidu_15113429/article/details/80651091
周小董
2020/04/21
1.5K0
如何从 Python 中的字符串列表中删除特殊字符?
在进行字符串处理和文本分析时,有时我们需要从字符串列表中删除特殊字符。特殊字符可能是空格、标点符号、换行符等,在某些情况下它们可能干扰我们的文本处理或分析任务。Python 提供了多种方法来删除字符串列表中的特殊字符。本文将详细介绍在 Python 中删除字符串列表中特殊字符的几种常用方法,并提供示例代码帮助你理解和应用这些方法。
网络技术联盟站
2023/06/01
8.3K0
Java字符串去掉空格的几种方法
其中,\s可以匹配空格、制表符、换页符等空白字符 参考:Java正则表达式https://www.runoob.com/java/java-regular-expressions.html
kirin
2020/07/01
4.7K0
Python_去除字符串中的空格
01. strip() 方法 strip() :用于移除字符串头尾指定的字符(默认为空格)或字符序列。 注: 该方法只能删除开头或结尾的字符,不能删除中间部分的字符。 old_data = " a b c d 1 1 3 1 " new_data = old_data.strip() old_data2 = "com.123fa.comsfasf.comasdfrs324.com" new_data2 = old_data2.strip(".com") print(new_data) print(new
用户7741497
2022/03/24
1.8K0

相似问题

更有效的删除空格的方法

21

从字符串中删除空格的首选方法

70

如何从字符串中删除所有空格?

25

如何从字符串中删除所有双空格

46

如何从字符串中删除所有空格?

44
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文