开发者社区> 问答> 正文

python中没有指针如果我想在一个字符串中解析、提取内容应该怎么办呢?:报错

比如从一个字符串中的多个name后面提取出多个名字,从多个password后面提取出密码,应该怎么实现呢?就算有办法,怎样记录现在已经解析到哪里了呢?

展开
收起
kun坤 2020-06-06 00:16:30 533 0
1 条回答
写回答
取消 提交回答
  • 别什么都指针,只要有获取字符串第i个字符的功能就不需要指针了。######回复 @qinuxman : http://www.oschina.net/question/89964_40271 查找那一系列都有start和end。######回复 @小郭一号 : 可是python里面有关的字符串处理函数没有设定偏移位置的参量######回复 @小郭一号 : 说得好,本质还是用一个变量才存着位置的。######回复 @qinuxman : 用一个i保存解析到的位置,再用一个j往下解析。指针表示一个位置,整数同样能表示位置,有啥男的?######可是有时候需要记录已经解析到的位置,然后从这个位置再往下解析,这在python中怎么实现呢?在c/c++里面就很明显的啊######正则提取即可

    In [1]: s = "name: tom password: 123 name: jack password: 456 name: john password: 789 name: tiger password: 012 "

    In [2]: s Out[2]: 'name: tom password: 123 name: jack password: 456 name: john password: 789 name: tiger password: 012 '

    In [3]: import re

    In [6]: re.findall(r'name: (.*?) password:', s) Out[6]: ['tom', 'jack', 'john', 'tiger']

    In [10]: re.findall(r'name: .? password: (.?) ', s) Out[10]: ['123', '456', '789', '012']



    ######给个你的这个字符串样子出来看######"name: tom password: 123 name: jack password: 456 name: john password: 789 name: tiger password: 012 " 提取name[]=[tom, jack,john] pass[]=...######贴字符串,指明你要提取什么部分######"name: tom password: 123 name: jack password: 456 name: john password: 789 name: tiger password: 012 " 提取name[]=[tom, jack,john] pass[]=...的说######
    c = re.compile(r'name:\s+(\w+)\s+password:\s+(\w+)')



    ######回复 @李察德-泰森 : 我要的结果在哪里呢?######回复 @qinuxman : 都说这样了还要啥然后?######然后呢######

    python里的字符串可以作为列表来操作的,如果需要使用偏移量操作的话,用[:]


    2020-06-06 00:16:34
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
From Python Scikit-Learn to Sc 立即下载
Data Pre-Processing in Python: 立即下载
双剑合璧-Python和大数据计算平台的结合 立即下载