【问题标题】:How can I make a string variable contain a single character "\" in python?python - 如何使字符串变量在python中包含单个字符“\”?
【发布时间】:2020-06-20 12:08:51
【问题描述】:
string="\"

这会给出错误 SyntaxError: EOL while scanning string literal

srring=r"\" 也不起作用

【问题讨论】:

    标签: python-3.x eol


    【解决方案1】:

    你可以这样写:

    string="\\"
    

    第一个转义后者并防止它转义文字的末尾。


    来自 cmets 的第二个问题:

    写一个这样的函数:

    def find(s, ch):
        return [i for i, ltr in enumerate(s) if ltr == ch]
    

    然后用你的字符串调用它:

    s=r"w:/a\bc::/12\xy"
    find(s, "\\")
    

    将打印出来

    [4, 12]

    【讨论】:

    • 但字符串会打印“\\”而不是“\”
    • 我必须将“\”的索引存储在 s=r"w:/a\bc::/12\xy" 中。我该怎么做”?
    • 不,不会。请继续尝试。
    • 啊。注意字符串前面的'r'。您正在处理原始字符串。这些是不同的。
    【解决方案2】:

    只需将反斜杠加倍:

    inp = "Jon\\Skeet"
    print(inp)
    

    打印出来:

    Jon\Skeet
    

    这里的问题是反斜杠是一个控制字符,\" 出现在由双引号分隔的字符串中意味着文字双引号。

    如果你想用反斜杠拆分上面的字符串,那么使用split():

    parts = inp.split("\\")
    print(parts)
    
    ['Jon', 'Skeet']
    

    【讨论】:

    • 我必须将“\”的索引存储在 s=r"w:/a\bc::/12\xy" 中。我该怎么做
    • 您的实际最终目标是什么?
    • 目前,我正在解决一个遇到“\”时需要拆分字符串的问题
    猜你喜欢
    • 2020-04-28
    • 2019-12-28
    • 2014-05-20
    • 2021-05-30
    • 2021-06-12
    • 2022-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多