【问题标题】:Split and replace a string with another string of same length in python在python中用另一个相同长度的字符串拆分和替换一个字符串
【发布时间】:2017-07-27 21:47:31
【问题描述】:

我想将给定的字符串拆分为字母、数字和特殊字符。 拆分后,这些必须分别替换为另一个字母,数字和特殊字符。

例如abc123wer@xyz.com 是给定的字符串。然后

拆分输出:['abc','123','wer','@','xyz','.','com']

应该从包含一些字母、数字和特殊字符的文件中进行替换。

替换输出:['xyz','231','etr','$','pou','#','fin']

【问题讨论】:

    标签: python replace split


    【解决方案1】:

    拆分字符串的一个选项是使用带有re 模块的正则表达式来匹配字母 [a-zA-Z]+数字 [0-9]+非字母数字 [^a-zA-Z0-9]+ 分别为:

    import re
    
    re.findall("[a-zA-Z]+|[0-9]+|[^a-zA-Z0-9]+", s)
    # ['abc', '123', 'wer', '@', 'xyz', '.', 'com']
    

    【讨论】:

    • 谢谢。我正在使用正则表达式进行拆分,但替换每个字符串是一个问题。
    • code: for x in re.findall('([a-zA-Z]+|\\d+|\W+)',string): myList.insert(i, x) # print(myList[i])
    • 这里的替换规则是什么?
    • 我想将每个字母、数字和特殊字符替换为存储在文件中的另一个相同长度的字母、数字和特殊字符。
    • 我想这里最好的方法是从你拥有的文件中制作一个字典,然后通过查找字典进行替换。
    猜你喜欢
    • 2011-03-25
    • 2018-12-11
    • 2013-12-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多