【发布时间】:2015-04-17 12:50:03
【问题描述】:
编辑以阐明我尝试了什么以及我的目标是什么。
我的目标是获取一个列表,并且对于列表中的每个元素,用“X”替换紧跟在管道后面的任何字符(如果存在这样的字符)。
例如:
[A|1,B|C,D|9] 将变为 [A|X,B|X,D|X]
从网上看,我认为这将是某种正则表达式,但我不确定如何具体获取以下一个字符。
我试过了
re.sub('|*?', "X", listname)
但在开始之前会出现“悬空元字符”错误。我想说:“取一个 | 后面的任何单个字符并将该字符更改为 X。
我也试过了:
re.sub('\|(.)', "X", listname)
但是得到TypeError: expected string or buffer
关于我正在寻找澄清 cmets 的更多上下文...
在我的具体代码中后面总会跟着一些东西。我只关心那个“东西”的第一个字符。所以 [A|124,B|s] 需要产生 [A|X24,B|X]
【问题讨论】:
-
你需要展示你到目前为止所做的尝试!如果您想得到想要的答案,请说出您的问题!因为 SO 不是 为我做的 网站!
-
你想替换后面的字符还是后面的单词,即
A|12变成A|X2还是A|X? -
@hwnd 我不想匹配任何东西。也就是说,对于我的特定代码,我从未遇到过这种情况。
标签: python regex python-2.7