【问题标题】:Get string from to odoo 9 [duplicate]从odoo 9获取字符串[重复]
【发布时间】:2018-03-16 18:30:29
【问题描述】:

如何从示例字母 'T' 中的第一个字符到第一个斜杠 '/' 获取字符串

TEST/0001 需要测试

TEST2/0001 需要获取 TEST2

TEST3/0001 需要获取 TEST3

【问题讨论】:

    标签: python python-2.7 python-3.x openerp


    【解决方案1】:

    我会选择split 解决方案,但如果您正在寻找更完整且同时更简单的解决方案(假设您知道正则表达式,无论如何这应该属于任何程序员的知识),那么您可以使用标准库 re module 中的一些快捷方法。

    使用相同数据的示例是:

    import re
    
    lines = ["TEST/1000", "TEST2/1000", "TEST3/1000"]
    pattern = "TEST\d*(?=/)"    # Take any string beginning with TEST, followed by 0 or more digits and a / character
    
    for line in lines:
        match = re.match(pattern, line)
    
        if match is not None:
            print(match.group(0))    # match.group(0) returns the whole matched string, and not a part of it
        else:
            print("No match for %s" % line)
    

    使用我的设置,在 test.py 文件中运行此脚本会产生:

    None@vacuum:~$ python3.6 ./test.py 
    TEST
    TEST2
    TEST3
    

    【讨论】:

      【解决方案2】:

      在python中,您可以使用split() function,它返回由您指定的字符分割的元素数组。然后你得到第一个元素:

      yourString = "TEST/0001"
      
      yourString.split("/")[0]
      
      >>> 'TEST'
      

      【讨论】:

        猜你喜欢
        • 2013-08-12
        • 1970-01-01
        • 2014-01-10
        • 1970-01-01
        • 1970-01-01
        • 2015-11-04
        • 1970-01-01
        • 2015-08-28
        • 2018-01-07
        相关资源
        最近更新 更多