【发布时间】:2018-03-16 18:30:29
【问题描述】:
如何从示例字母 'T' 中的第一个字符到第一个斜杠 '/' 获取字符串
TEST/0001 需要测试
TEST2/0001 需要获取 TEST2
TEST3/0001 需要获取 TEST3
【问题讨论】:
标签: python python-2.7 python-3.x openerp
如何从示例字母 'T' 中的第一个字符到第一个斜杠 '/' 获取字符串
TEST/0001 需要测试
TEST2/0001 需要获取 TEST2
TEST3/0001 需要获取 TEST3
【问题讨论】:
标签: python python-2.7 python-3.x openerp
我会选择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
【讨论】:
在python中,您可以使用split() function,它返回由您指定的字符分割的元素数组。然后你得到第一个元素:
yourString = "TEST/0001"
yourString.split("/")[0]
>>> 'TEST'
【讨论】: