字符串清理删除连续值并在末尾添加逗号

问题描述 投票:0回答:1

我从正在抓取的电子邮件中得到了这个字符串:

TICKET\xa0\xa0 STATE\xa0\xa0\xa0\xa0 ACCOUNT IDENTIFIER\xa0\xa0\xa0 FILE DIRECTORY\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0 CODE

我的目标如下:

  1. 删除\xa0
  2. 为每个组字符串创建逗号分隔

这是我理想的结果:

TICKET,STATE,ACCOUNT IDENTIFIER,FILE DIRECTORY

另一方面,这就是我最终得到的:

#code
my_string.replace(' ', ',').replace('\xa0', '')

#result
TICKET,STATE,ACCOUNT,IDENTIFIER,FILE,DIRECTORY

我正在考虑使用正则表达式,但是我不知道如何实现逻辑。

python regex string
1个回答
0
投票

分隔您关心的项目的相关字符串是

\xa0
,因此您可以先对其进行拆分,然后保留包含
\xa0
和空格以外的内容的元素:

my_string = "TICKET\xa0\xa0 STATE\xa0\xa0\xa0\xa0 ACCOUNT IDENTIFIER\xa0\xa0\xa0 FILE DIRECTORY\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0 CODE"

print(", ".join(x.strip() for x in my_string.split("\xa0") if x.strip()))
# Output: TICKET, STATE, ACCOUNT IDENTIFIER, FILE DIRECTORY, CODE
© www.soinside.com 2019 - 2024. All rights reserved.