在python中无法获得单个\

fns*_*jdb 9 python

我正在努力学习python,而且我对它很陌生,我无法想象这一部分.基本上,我现在正在做的是获取网页的源代码,并取出所有不是文字的东西.

网页上有很多\n和\ t,我想找到一些可以找到它的东西,并删除它与下一个'之间的所有内容.

def removebackslash(source):
    while(source.find('\') != -1):
        startback = source.find('\')
        endback = source[startback:].find(' ') + startback + 1
        source = source[0:startback] + source[endback:]
    return source
Run Code Online (Sandbox Code Playgroud)

就是我拥有的.它不会像这样工作,因为\'它不会关闭字符串,但是当我更改\为时\\,它会将字符串解释为\\.我无法弄清楚任何被解释的东西'\'

Ry-*_*Ry- 18

\是一个逃脱的角色; 它要么赋予角色特殊的意义,要么带走所说的特殊意义.现在,它正在逃避收盘单一报价并将其视为文字单引号.您需要自己转义它以插入文字反斜杠:

def removebackslash(source):
    while(source.find('\\') != -1):
        startback = source.find('\\')
        endback = source[startback:].find(' ') + startback + 1
        source = source[0:startback] + source[endback:]
    return source
Run Code Online (Sandbox Code Playgroud)

  • @fnsjdnfksjdb:`"blahblahblah\andstuff".find("\\")`*应该*评估为-1."blahblahblah\andstuff"中没有单一的反斜杠:只有"\ a",这是一个单个字符(chr(7)).另一方面,"blahblahblah \\ andstuff".find("\\")`是12. (17认同)
  • @fnsjdnfksjdb:不,它没有.真的,试试吧.http://codepad.org/BXherX82 (2认同)

zal*_*rak 7

尝试使用替换:

str.replace(old, new[, count])
Run Code Online (Sandbox Code Playgroud)

返回字符串的副本,其中所有出现的substring old都替换为new.如果给出可选参数计数,则仅替换第一次计数.

所以在你的情况下:

my_text = my_text.replace('\n', '')
my_text = my_text.replace('\t', '')
Run Code Online (Sandbox Code Playgroud)