Regex 在python正则表达式中查找括号
我的文本字符串如下所示:Regex 在python正则表达式中查找括号,regex,python-3.x,Regex,Python 3.x,我的文本字符串如下所示: yryr%(DENHP@Germany) 我希望我的输出如下所示: yryr\uuu DENHP\u德国 (我还想替换句号和逗号) 这些实际上是熊猫数据帧中的变量,我正在尝试匹配括号。。。这是我正在尝试的,但它不太管用。有人能帮忙吗 df\u q\u raw.columns=df\u q\u raw.columns.str.replace(['\.\%r'\('r'\)'),'')str.replace不适用于正则表达式。您应该改用re.sub 根据您的示例判断,您希望
yryr%(DENHP@Germany)
我希望我的输出如下所示:
yryr\uuu DENHP\u德国
(我还想替换句号和逗号)
这些实际上是熊猫数据帧中的变量,我正在尝试匹配括号。。。这是我正在尝试的,但它不太管用。有人能帮忙吗
df\u q\u raw.columns=df\u q\u raw.columns.str.replace(['\.\%r'\('r'\)'),'')
str.replace
不适用于正则表达式。您应该改用re.sub
根据您的示例判断,您希望将(
,)
,
,%
和@
替换为\uuuuu
:
re.sub(r"[().%@]", '', df_q_raw.columns.str)
[]
表示字符类。如果某个字符是字符类的成员,则该字符将被匹配
如果要替换所有非字母数字字符,请改用此正则表达式:
\W
要仅删除括号、百分号、句点和逗号,可以使用
df.columns = df.columns.str.replace(r'[()%.,]', '_')
要替换任何非单词字符,可以使用
df.columns = df.columns.str.replace(r'\W', '_')
\W
模式匹配任何非单词字符。如果不想匹配空白,请使用[^\w\s]
如果您还想替换
(也被认为是单词字符),则需要使用[\W\u]
,或者,如果您不想匹配空白,请使用(?!\s)[\W\u]
是否只是将所有非字母数字字符替换为
?如果是这样,只需使用\W
替换为\u
我只想在数据框列名中替换它们,而不是其他地方。谢谢,这很有效。专门使用您的\W
方法替换所有非字母数字值。@Aaraeus很高兴它对您有效。请考虑我的回答是否对你有帮助。