从 odoo 9 获取字符串

Get string from to odoo 9

如何从我的示例字母 'T' 中的第一个字符到第一个斜线 '/'

获取字符串

TEST/0001 需要测试

TEST2/0001 需要获取 TEST2

TEST3/0001 需要获取 TEST3

在 python 中,您可以使用 split() function 其中 returns 元素数组按您指定的字符拆分。然后你得到第一个元素:

yourString = "TEST/0001"

yourString.split("/")[0]

>>> 'TEST'

我会选择 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