python - 用 1 到 165 混淆的数字替换长字符串中的每个“$”?
问题描述
我的目标:我有一个很长的 str ,看起来像这样:
longStr = '<option value = $>A/D/S (Pre-ADST)</option><option value = $>Aiwa</option><option value = $>Alphard Audio</option><option value = $>Alphasonik</option><option value = $>Alpine</option><option value = $>Altec Lansing</option><option value = $>Alumapro</option><option value = $>American Bass</option><option value = $>American HiFi</option>........'
等等..它是用于选择音频品牌的 html,并且“选项值”应该取一个从 1 到任何值的数字,因此最终它看起来像:
longStr = '<option value = "1">A/D/S (Pre-ADST)</option><option value = "2">Aiwa</option><option value = "3">Alphard Audio</option><option value = "4">Alphasonik</option><option value = "5">Alpine</option><option value = "6">Altec Lansing</option><option value = "7">Alumapro</option><option value = "9">American Bass</option><option value = "10">American HiFi</option>........'
再次,依此类推。
所以我首先用 $ 替换所有“#”,这样我就可以以某种方式再次循环字符串,现在用 1 -165 的数字替换每个 $(例如循环直到第一个 $ 并将其替换为“1”,继续直到下一个“$”,然后用“2”替换它,依此类推。我已经尝试了一切,但我无法解决正确的结果。任何帮助将不胜感激!!提前谢谢你。
解决方案
您可以在“$”上拆分字符串并在遍历列表时填写值。然后结合str.join
longStr = '<option value = $>A/D/S (Pre-ADST)</option><option value = $>Aiwa</option><option value = $>Alphard Audio</option><option value = $>Alphasonik</option><option value = $>Alpine</option><option value = $>Altec Lansing</option><option value = $>Alumapro</option><option value = $>American Bass</option><option value = $>American HiFi</option>........'
x = ''.join(f'{v}"{i+1}"' for i, v in enumerate(longStr.split('$')))
print(x)
推荐阅读
- java - 如何在java中比较两个大的CSV文件
- mysql - 编写一个 SQL 查询来查找给定表的最高薪水
- java - SpringBoot - 为演示创建空测试类
- ruby - 传出的 Websocket 消息未发送到浏览器
- django - 对实例 ID 'i-04e3dd1fd8a1663c3' elasticbean django 部署的命令执行不成功
- node.js - Typescript + Worker Threads的Nodemon抛出错误
- django - 在 django 中调用时,张量不是该图的元素
- python - 从特定列中的数组在熊猫数据框中插入两个值
- angular - 将 api 值传递给 formcontrolname
- typescript - 使用类装饰器让 ESLint 和 TypeScript 满意