簡體   English   中英

在字母前后刪除字符串中的空格

[英]Remove spaces from string after and before letter

我有很多類似的字符串:“一個名稱/另一個名稱/其他名稱”。

我要說的是:“一個名字/另一個名字/其他”。

基本上只刪除正斜杠前后的空格(而不是單詞本身之間的空格)。

我對編程一無所知,但我發現並發現可以使用Python和Regex完成。 盡管我發現的信息量讓我有些不知所措。

您可以使用以下模式:

(?:(?<=\/) | (?=\/))
  • (?:非捕獲組。
  • (?<=\\/)/
  • | 要么
  • (?=\\/)正向/向前看。
  • )關閉非捕獲組。

您可以在這里試用。


Python片段:

import re
str = 'a name / another name / something else'
print(re.sub(r'(?:(?<=\/) | (?=\/))','',str))

打印:

a name/another name/something else

這是一個不用正則表達式的答案,我覺得這更容易理解

string = "a name / another name / something else"
edited = "/".join([a.strip() for a in string.split("/")])
print(edited)

輸出:

a name/another name/something else

.join()通過給定的分隔符docs連接序列的元素

.strip()刪除開頭和結尾的空格, docs

.split()按字符, 文檔將字符串拆分為標記

這里不需要正則表達式,因為您只需要替換字符串即可。

str = "a name / another name / something else"
print(str.replace(" / ", "/"))

此模式將匹配/周圍的任意數量的空格並將其刪除。 我認為正則表達式相對容易理解

\s*([\/])\s*

有一個與反斜杠匹配的捕獲組(這就是中間部分)。 s*部分與空格匹配(至少一個,最多不限次數)。

然后,您可以僅用/替換這些匹配的字符串,以消除所有空白。

str1是您的字符串:

re.sub(" / ", "/" ,str1)

使用以下代碼刪除/字符之前和之后的所有空格:

import re
str = 'a name /  another name / something else'
str = re.sub(r'(?:(?<=\/)\s*|\s*(?=\/))','', str)

查看此文檔以獲取更多信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM