python问题中的字符串翻译器

时间:2018-07-21 12:56:52

标签: python regex string replace translation

我正在根据修改后的CSS字符串创建一个字符串。 修改后的结果是这样的:

.cls-24 {\n    fill: lime;\n    opacity: 0.5\n    }\n.cls-25 {\n    fill: none;\n    stroke: #333;\n    stroke-miterlimit: 10;\n    stroke-width: 35px\n    }\n.cls-26 {\n    fill: #333\n    }\n.cls-27 {\n    fill: #7f6145\n    }\n.cls-28 {\n    opacity: 0.2\n    }'

我当然不需要那些空格和'\'。 我最接近的是这样做的:

    translator = str.maketrans('', '', ' \\n\t\r')
    changed_css_as_string =str(sheet.cssText).translate(translator)

输出如下:

.cls-24{fill:lime;opacity:0.5}.cls-25{fill:oe;stroke:#333;stroke-miterlimit:10;stroke-width:35px}.cls-26{fill:#333}.cls-27{fill:#7f6145}.cls-28{opacity:0.2}'

哪一个更接近,但主要的问题是不再有'n'了。现在没有了。不好我该怎么做才能获得所需的输出?

2 个答案:

答案 0 :(得分:1)

\之前删除反斜杠\n

translator = str.maketrans('', '', ' \\n\t\r')

删除五个字符:\n\t\r

已修复

translator = str.maketrans('', '', ' \n\t\r')

删除四个字符:\n\t\r

答案 1 :(得分:1)

好,所以我想通了,这很成功:

translator = str.maketrans('', '', ' \t\r')
css_without_newline_chars = str(sheet.cssText).replace('\\n', '')
changed_css_as_string = css_without_newline_chars.translate(translator)