【发布时间】:2023-02-24 08:23:53
【问题描述】:
我正在使用 Python Python 3.10.8
我有一个函数可以将正则表达式分隔的字符串拆分为任意长度的元组。我想计算从我的函数返回的子字符串的数量。但是当源字符串没有定界符,并且我的函数正确返回一个包含单个字符串的元组时,内置的 len() 返回字符串的长度。我怎么知道/强制返回值是单个字符串,而不是字符集合? 此测试功能无法按预期工作:
def test_da_tuple(subject_string, expected_length):
da_tuple = MangleSplitter.tuple_of(subject_string)
pprint.pprint(da_tuple)
tuple_len = len(da_tuple)
assert tuple_len == expected_length, ("\"%s\" split into %d not %d" % (subject_string, tuple_len, expected_length))
还有一些样品
MANGLED_STR_00 = "Jack L. Chalker - Demons of the Dancing GodsUC - #2DG"
CRAZYNESS = "A - B - C - D - F - F - G - H - I"
MANGLED_STR_07 = "Book Over"
我希望我的 test_da_tuple() 为 MANGLED_STR_00 验证 3,为 CRAZYNESS 验证 9,为 MANGLED_STR_07 验证 1。相反,我得到一个断言错误,MANGLED_STR_07 分裂成 9 而不是 1。
【问题讨论】:
-
您是否尝试用“-”拆分字符串并计算部分?使用这个:拆分(“-”)
-
这回答了你的问题了吗? How do I split a string into a list of words?