python - 提取字符、字符串或括号之间的文本

标签 python regex string pandas replace

我有以下类型的数据:

pd.DataFrame({"Hashtags": [ "[]", "[u'AAPHealthCare4All']", "[u'CBI',","u'Delhi',", "u'Emergency']"]})

预期输出

pd.DataFrame({"Hashtags": [ " ", "AAPHealthCare4All", "CBI","Delhi", "Emergency"]})

方括号、圆括号或逗号和引号均未遗漏/错字。 [] 应该用空格代替。基本上我想删除所有 "[", "]", "[u' " 等。 我使用了以下代码,但无济于事:

for index,row in df.iterrows(): 
    if "RT @" in row["Tweet"]: 
        df['Hashtags'] =df['Hashtags'].str.replace(r'[^[]]*\[|\][^]*|\[u\'*\'\]|\[\'*\'\]', '')
df.to_csv('string_HT.csv', index=False)

最佳答案

您可以将以下表达式应用于您的主题标签:

df['Hashtags'] = sum([x if x else [" "] for x 
                      in ast.literal_eval(''.join(df['Hashtags'])\
                                            .replace('][', '],['))],\
                     [])

结果:

[' ', 'AAPHealthCare4All', 'CBI', 'Delhi', 'Emergency']

但是,dataframe 中的行数会发生变化,索引不会被保留。您可能错误地使用了数据框。

关于python - 提取字符、字符串或括号之间的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44447759/

相关文章:

python - 删除带有 pandas 数据强制错误的行

python - 二分查找 : Not getting upper & lower bound for very large values

Python 正则表达式匹配字符串中间

php - PHP Field Validation 使用什么方法

java - "?="在正则表达式中做什么?

Python 3,urllib ...重置连接可能吗?

python - 如何按照Python教科书的要求实现 'class Card'

javascript - 在 PHP 中使用正则表达式按字母顺序对字母进行排序

java - Java 中的字符串连接 - 何时使用 +、StringBuilder 和 concat

java - 在字符串中使用 new 运算符创建两个对象有什么好处