How do I do what strtok() does in C, in Python?的标题表明它应该回答我的问题,但我正在寻找的特定strtok()行为打破了分隔符字符串中的任何一个字符.那是,给定:
const char* delim = ", ";
str1 = "123,456";
str2 = "234 567";
str3 = "345, 678";
无论来自delim的字符数是多少,strtok()都会查找数字的子字符串. Python的拆分期望整个分隔字符串在那里,所以我做不到:
delim = ', '
"123,456".split(delim)
因为它没有找到delim作为子字符串并返回单个元素的列表.
解决方法:
如果您知道令牌将成为数字,您应该能够使用Python re
模块中的split
函数:
import re
re.split("\D+", "123,456")
更一般地说,您可以匹配任何分隔符:
re.split("[ ,]", "123,456")
要么:
re.split("[" + delim + "]", "123,456")