使用
re.search:
import restrs = ["71 1 * abwhf", "8 askg", "*14 snbsb", "00ab"]def split_on_letter(s): match = re.compile("[^Wd]").search(s) return [s[:match.start()], s[match.start():]]for s in strs: print split_on_letter(s)正则表达式
[^Wd]匹配所有字母字符。
W匹配所有非字母数字字符并
d匹配所有数字字符。
^在集合的开头,反转选择以匹配所有不匹配(非字母数字或数字)的所有内容(与所有字母相对应)。
match搜索字符串以查找匹配表达式的第一个匹配项的索引。您可以根据匹配的位置对原始字符串进行切片,以获得两个列表。



