【发布时间】:2014-01-29 23:10:44
【问题描述】:
我只是想知道,我正在尝试进行非常简单的文本处理或还原。我想用一个替换所有空格(" " 中没有这些空格)。我也有一些依赖于读取的每个字符的语义操作,所以这就是我不想使用任何正则表达式的原因。这是某种伪 FSM 模型。
所以这是交易:
s = '''that's my string, " keep these spaces " but reduce these '''
期望的输出:
that's my string, " keep these spaces " but reduce these
我想做的是这样的:(我没有提到'"'的情况,以保持示例简单)
out = ""
for i in range(len(s)):
if s[i].isspace():
out += ' '
while s[i].isspace():
i += 1
else:
out += s[i]
我不太明白在这种情况下如何创建或共享范围。
谢谢你的建议。
【问题讨论】:
-
什么是变量line和lineCpy?
-
问题是,一旦你跳过了while循环中的所有括号,i变量将在最后一个满足s[i].isspace()条件的“空格”之后取下一个值...所以你不会删除所有的括号,你只会再次遍历它们......
-
啊,抱歉,我错过了它们,它们都是
s字符串,我猜我是盲人。
标签: python string loops python-3.x nested-loops