从 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
如何从我的示例字母 '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