Python Numpy数组正则表达式子

Python Numpy数组正则表达式子,python,regex,numpy,Python,Regex,Numpy,我相信应该只有一行,但我无法找出最好的方法: import numpy as np import re arr = np.array(["AB", "AC", "XAB", "XAC", "AD"]) 我想根据“^a”的正则表达式匹配在开头添加“X”。您可以使用re模块中的sub函数将字符串替换为 >>> import re >>> str="ABC" >>> re.sub('^(?=A)','X', str) 'XABC' ^(?=A)

我相信应该只有一行,但我无法找出最好的方法:

import numpy as np
import re
arr = np.array(["AB", "AC", "XAB", "XAC", "AD"])

我想根据“^a”的正则表达式匹配在开头添加“X”。

您可以使用
re
模块中的
sub
函数将字符串替换为

>>> import re
>>> str="ABC"
>>> re.sub('^(?=A)','X', str)
'XABC'
^(?=A)
是一种前瞻性断言,它匹配以“A”开头的任何字符串中的起始位置。

这是怎么回事:

print(np.array(list(map(lambda v: re.sub(r'^A','XA', v) ,arr))))
% outputs: ['XAB' 'XAC' 'XAB' 'XAC' 'XAD']

非常感谢!:)最后,我使用了@nu11p01n73R中的正则表达式模式,而不是“^A”,使用的是一个较短的列表:
np.array([re.sub(“^A”,“XA”,A)表示数组中的A])
arr
需要是数组还是返回数组?这看起来像是字符串列表问题,而不是
numpy
one。哦,我明白了。是的-它不需要是一个numpy阵列。谢谢。我结合了你和马辛的解决方案。@KapilSharma很高兴听到它起作用:)