谁能找到更 Python 风格、更漂亮的解决方案?
我正在遍历文件中的一些文本行,以检查它们是否满足特定条件。 出于某种原因,决定行内的分隔符是‘’,即双倍空格。
如何检查文本字符串以验证所有分隔符是否恰好是两个空格? 行尾的空格不是问题,因为该行最初是 .strip() 的。
我已经写了这个,它有效——但它很丑。 代码将展示给一些 Python 新手,所以我正在寻找一个更短、更清晰、更漂亮的解决方案……
ll = ["53.80 64-66-04.630N 52-16-15.355W 25-JUN-1993:16:48:34.00 S10293.. 2",
" 53.80 64-66-04.630N 52-16-15.355W 25-JUN-1993:16:48:34.00 S10293.. 2",
"53.80 64-66-04.630N 52-16-15.355W 25-JUN-1993:16:48:34.00 S10293.. 2",
" 53.80 64-66-04.630N 52-16-15.355W 25-JUN-1993:16:48:34.00 S10293.. 2",
"53.80 64-66-04.630N 52-16-15.355W 25-JUN-1993:16:48:34.00 S10293.. 2 ",
"53.80 64-66-04.630N 52-16-15.355W 25-JUN-1993:16:48:34.00 S10293.. 2 ",
"53.80 64-66-04.630N 52-16-15.355W 25-JUN-1993:16:48:34.00 S10293.. 2"]
for ln in ll:
l = ln.strip()
bolDS = True
for n in range(len(l)-1):
if (n>0 and l[n]==' ' and not ((l[n]==l[n+1])^(l[n]==l[n-1]))):
bolDS = False
print "|"+l+"|",bolDS
最佳答案
def is_doublespace_separated(input_string):
return ' '.join(input_string.split()) == input_string.strip()
这是有效的,因为 string.split
会在任何空白处拆分您的字符串。 string.join
使用分隔符 string
加入列表。在这种情况下,我们使用分隔符 ' '
(两个空格)重新连接您的字符串,然后将其与剥离后的版本进行比较(我感觉您已经知道 strip 的作用)。
**这将忽略字符串前面和结尾的空格。
关于python - 在字符串中查找双空格 - Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11214074/