V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
omg21
V2EX  ›  Python

字符串里有回车符应该怎么查找位置?

  •  
  •   omg21 · 2016-06-22 23:51:34 +08:00 · 2912 次点击
    这是一个创建于 2868 天前的主题,其中的信息可能已经有所发展或是发生改变。
    #-*-coding:utf-8-*-
    htmlstr=
    '''
    。。。
    </td>
    </tr>
    </table>
    <ul>
    <li>
    <a></a>
    <a></a>
    </li>
    </ul>
    。。。
    <td>页次
    '''

    ksstr='</table>\n<ul>\n<li>'
    jsstr='<td>页次'
    ks=htmlstr.find(ksstr)
    js=htmlstr.find(jsstr)
    lbylist=htmlstr[ks:js]
    print(lbylist)
    print(ks)

    这段代码是想从 htmlstr 中截取一段,有开始和结尾代码,分别是 ksstr 和 jsstr ,这段代码测试通过。
    但当我把 ksstr 和 jsstr 两个字符串的值分别存入数据库,然后直接解析网页页面,在程序里取出来时, ks 的值就是-1 了,很明显是“</table>\n<ul>\n<li>”这个地方出了问题。
    我现在搞不清是\n 的问题还是编码的问题,也试过\n\r ,还是不行。网页的编码是 gb2312 。想起来了,应该不是编码的问题,因为还有其他的页面也是 gb2312 的,也通过了,就这一个带\n 的出了问题。
    9 条回复    2016-06-23 13:59:09 +08:00
    l12ab
        1
    l12ab  
       2016-06-23 00:23:59 +08:00
    \n
    \r\n
    imn1
        2
    imn1  
       2016-06-23 01:59:46 +08:00
    \s*\n\s*
    omg21
        3
    omg21  
    OP
       2016-06-23 06:14:21 +08:00
    @imn1 还是不行,我要把“</table>\n<ul>\n<li>”存到数据库里,然后在程序里读出来,改成这样还是不行“</table>\s*\n\s*<ul>\s*\n\s*<li>”
    ghostheaven
        4
    ghostheaven  
       2016-06-23 08:02:19 +08:00 via Android
    数据库的字符串编码, php 源代码的编码呢,都是 gb2312 么
    weakiwi
        5
    weakiwi  
       2016-06-23 08:46:14 +08:00 via Android
    js 和 php 的正则都有多行查找模式
    Cabana
        6
    Cabana  
       2016-06-23 09:01:53 +08:00
    我来吐个槽,拼音缩写命名,看了半天没理解 ks 和 js 是什么意思,突然才恍然大悟。
    Cabana
        7
    Cabana  
       2016-06-23 09:04:00 +08:00
    一个笨办法,存取数据库时 base64 一下,就不会出现这种问题了
    ango
        8
    ango  
       2016-06-23 09:31:49 +08:00
    @Cabana start & end
    jason19659
        9
    jason19659  
       2016-06-23 13:59:09 +08:00
    写正则吧
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2372 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 15:30 · PVG 23:30 · LAX 08:30 · JFK 11:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.