2024-10-03 13:30:38 发布
网友
我有一个问题,我得到一个#分隔的文件,但是,在散列之间,有一个空格字符表示一个空值。当我稍后尝试查询文件时,这会给我带来问题。有没有一种方法可以删除分隔行中只有一个空格字符的所有实例?你知道吗
这是我文件中的一行示例。你知道吗
40001#World Music#Mike Oldfield#Tubular Bells# 53# # #
我希望绳子是。。。你知道吗
40001#World Music#Mike Oldfield#Tubular Bells# 53###
使用regular expressions。你知道吗
import re my_str = "40001#World Music#Mike Oldfield#Tubular Bells# 53# # #" pattern = re.compile(r'(#)\s(#)\s(#)') new_str = re.sub(pattern, r'\1\2\3', my_str) print(new_str)
使用三元条件和列表理解,您可以:
s = "40001#World Music#Mike Oldfield#Tubular Bells# 53# # #" s2 = "#".join([i if i != " " else "" for i in s.split("#")]) print s2
印刷品
无需进口(如可再生能源)
使用re.sub函数。你知道吗
re.sub
re.sub(r'(?<=#) (?=#)', r'', string)
或
re.sub(r'(?<=#)\s(?=#)', r'', string)
示例:
>>> s = "40001#World Music#Mike Oldfield#Tubular Bells# 53# # #" >>> re.sub(r'(?<=#) (?=#)', r'', s) '40001#World Music#Mike Oldfield#Tubular Bells# 53###'
(?<=#)
#
\s
(?=#)
使用regular expressions。你知道吗
使用三元条件和列表理解,您可以:
印刷品
无需进口(如可再生能源)
使用
re.sub
函数。你知道吗或
示例:
(?<=#)
正向lookback断言匹配必须以#
开头\s
匹配空格字符。你知道吗(?=#)
肯定的前瞻,断言匹配必须后跟#
字符。你知道吗相关问题 更多 >
编程相关推荐