删除字符串中特定字符之前和之后的多余空格

问题描述

是否有一种干净的方法可以从字符串中的特定字符中删除前导空格和尾随空格。例如我们有一个名称字符串,有时该名称包含丈夫和妻子(例如,Doe,John和Mary)。但是,有时当输入名称时,名称会变得发胖,并且在&之前和/或之后包含多余的空格(例如'&','&','&','&','&'等。 )。基本上,我只是想确保在任何时候都有&,并且总是前一个空格和后一个空格。我肯定有一个简单的解决方案,但是由于某种原因,我正在尝试的一切(除了大量的replace(...)之外)似乎都没有问题……

解决方法

取决于您的编程语言String.Trim()完全可以满足您的需求。

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/Trim

https://docs.microsoft.com/en-us/dotnet/api/system.string.trim?view=netcore-3.1

编辑:您可以将字符串拆分为字符串数组,然后对每个元素使用修剪。

,

一种聪明的方法是将字符串拆分为字符,然后将所有字符添加到带有key的字典中,并指定位置值并使用以下方法重建字符串:如果不存在现有值,则将值添加到key中距离一,关键是空格“”

,

我认为这可以解决您的问题,并且随语言而有所不同。 对于Python,

name = "Doe &  John & Mary"
name = " & ".join(map(str.strip,name.split('&')))

对于JavaScript,

name = name.split('&').map(e => e.trim()).join(' & ');

此代码段首先使用字符'&'分割给定的单词,并使用map()在两端去除(修剪)每个单词,并使用“&”将每个单词连接在一起。
#快乐编码!