【问题标题】:Why appears backslash in text?为什么文本中出现反斜杠?
【发布时间】:2015-12-21 01:59:51
【问题描述】:

我正在处理一些具有这种格式的文本:

“说他们会价格匹配” “价格不匹配” “嘿,不要在周末安装”

我在这里遇到的问题是我在整个文本中都有这个反斜杠 '\' '\\',我需要使用

删除这些反斜杠
.replace('\\','')

但我不确定这些是文本上出现的唯一符号还是有更多组合,我无法手动读取所有数据来检查这一点,有数千页。这是个常见的问题吗?是由特定的编码格式引起的?

【问题讨论】:

    标签: python regex


    【解决方案1】:

    Almostdupethese 问题。

    当您看到双反斜杠 \\ 时,这是 Python 表示文字斜杠的方式。

    >>> s = 'some s\\tring'
    >>> t
    'vertical \tab'
    >>> s           # just `s` gives the repr
    'some s\\tring'
    >>> print a     # prints `s`
    some s\tring
    >>> # ^^^ notice the lack of slashes or quotes above
    

    'some s\\tring' 中,\\ 意味着一个实际的\。没有它,反斜杠 \ 将应用于代表垂直制表符 \tt

    语句.replace('\\','') 试图用空替换实际的斜线。但是您所拥有的不是实际的斜杠,而是单引号的“转义序列”。以tab为例:

    >>> t = 'vertical \tab'  # see what I did there?
    >>> print t
    vertical        ab
    >>> # notice the actual tab above
    ...
    >>> t.replace('\\', '')  # trying to remove literal slash
    'vertical \tab'
    >>> # that didn't work
    ...
    >>> s.replace('\\', '')  # try it on the string above which has an actual slash
    'some string'
    

    【讨论】:

      【解决方案2】:

      在 shell 脚本中,反斜杠用于转义字符。也就是说,它允许 shell 不将字符解释为特殊字符。单引号和双引号是 shell 中的特殊字符,它用于将一组字符括起来以形成一个字符串......所以如果你用反斜杠转义引号,shell 会将它解释为文字引号而不是解释它作为特殊字符。

      我在这里假设您看到的输出没有发送到 shell,这就是为什么您看到文字反斜杠后跟引号的原因?

      【讨论】:

      • 我是通过抓取页面得到的,现在我需要清理这些数据。
      • 如果你的变量是一个字符串..你可以使用相同的方法 .replace('\\','')...example string.replace('\\','')
      猜你喜欢
      • 2022-01-17
      相关资源
      最近更新 更多