How do I do what strtok() does in C, in Python?的标题表明它应该回答我的问题,但是我要寻找的strtok()行为是破坏分隔符字符串中任何一个字符的。也就是说,考虑到:
const char* delim = ", ";
str1 = "123,456";
str2 = "234 567";
str3 = "345, 678";
strtok()查找数字的子字符串,而不管delim中存在多少个字符。Python的split期望整个定界字符串都在那里,所以我不能:
^{pr2}$因为它找不到delim作为子字符串,并返回单个元素的列表。在
使用
replace()
将所有分隔符规范化为同一个字符,并在该字符上使用split()
-是处理简单情况的一种方法。对于您的示例,replace(',',' ').split()
应该可以工作(将逗号转换为空格,然后使用特殊的无参数形式split
对空格进行拆分)。在在Python中,当
split
和replace
变得过于复杂时,通常会转向re
模块;请参阅Sam Mussmann的更一般的答案。在如果您知道标记将是数字,那么您应该能够使用Python的^{} 模块中的^{} 函数:
一般来说,您可以匹配任何分隔符字符:
^{pr2}$或者:
相关问题 更多 >
编程相关推荐