python - 从字符串创建一个字符列表,仅使用字符串函数而不是正则表达式
问题描述
输入:
data = "~ddd , eee~, ~aaaa~"
期望的输出:
data = ["~ddd eee~","~aaaa~"]
- 从数据中打印字符串列表,以“~”开头和结尾。
- 替换 , 如果在 ~ 之间,则使用空格。
我如何在不使用 python 中的正则表达式的情况下实现这一点?
解决方案
不是单行的,有些东西可能看起来很多余,但它非常简单易懂。
result = []
opened = False
for i, c in enumerate(data):
if c == '~' and not opened:
start = i
opened = True
elif c == '~' and opened:
end = i + 1
result.append(data[start:end].replace(' , ', ' '))
opened = False
推荐阅读
- python - 有没有办法在python中安装包后下载包资源?
- mysql - mysql的日期时间值不正确
- java - 扫描仪使用循环从命令行读取文本文件,但循环不会中断
- python - django 创建客户端用户
- excel - 将粘贴值和格式从一张表复制到另一张表时出现 VBA 错误 1004
- asp.net - Hangfire:看起来工作被中止了
- php - 在 Mac 上为 Laravel 7 / Homestead 更新 PHP 到 7.2.5
- webpack - Webpack 需要一个合适的加载器来处理这个文件类型错误
- python - 我的数据库已经有 20 行,但是当我保存新行时,它们的 id 从 1 开始
- django - 如何告诉我的序列化程序可以将字段留空?