加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 从列表中迭代查找和替换文本

发布时间:2020-12-15 02:20:24 所属栏目:Java 来源:网络整理
导读:假设我有这些文字: Donec sollicitudin ? malesuada. "Curabitur" arcu erat,accumsanid imperdiet et,porttitor at sem. Quisque velit nisi,? utlacinia in,? id enim. Proin eget tortor risus. 我在列表中列出了这些文字: ["apple","banana","cherry"]
假设我有这些文字:

Donec sollicitudin ? malesuada. "Curabitur" arcu erat,accumsan
id imperdiet et,porttitor at sem. Quisque velit nisi,? ut
lacinia in,? id enim. Proin eget tortor risus.

我在列表中列出了这些文字:

["apple","banana","cherry"]

如何更换每次出现的?列表中的每个文本?预期产量:

Donec sollicitudin apple malesuada. "Curabitur" arcu erat,banana ut
lacinia in,cherry id enim. Proin eget tortor risus.

是否可以使用记事本来实现更长的文本和列表?或者我可以使用其他任何技术吗?

解决方法

这个Python脚本将完成工作.如果还有更多?比列表中的替换,它会留下?

import re

replacements = ["apple","cherry"]
lines = ""

with open("file.txt") as file:
    lines = file.read()

def replace(m):
    if not replacements:
        return "?"

    return replacements.pop(0)

lines = re.sub(r"?",replace,lines)

with open("file.txt","w") as file:
    file.write(lines)

不可否认,有更好的方法可以做到这一点,例如不将整个文件加载到字符串中.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读