首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何删除不需要的字符

如何删除不需要的字符
EN

Stack Overflow用户
提问于 2021-06-30 18:06:35
回答 3查看 1.9K关注 0票数 1

因此,我将一些数据刮成JSON文件格式,但是保存的数据中有一些不需要的字符,例如:

"quote_text":“我们创造的世界是我们思考的过程。它不能改变我们的思维。\u201d”,“作者”:“爱因斯坦”,“标签”:[“变化”,“深思”,“思考”,“世界”。)

那么,如何从python文件中删除这些\u201c类型字符

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2021-06-30 18:45:57

让我们假设字典为d,正如我所看到的,有不同的unicode字符,如\u201c\u201d。如果您想一次删除所有Unicode字符,您可以这样做:

一行代码:

代码语言:javascript
复制
d['quote_text'].encode("ascii", "ignore").decode('utf-8')

详细解释:

下面一行代码删除所有unicode字符,并返回以字节为单位的值。

代码语言:javascript
复制
remov_unicode_char = d['quote_text'].encode("ascii", "ignore")

现在,为了转换成字符串,您可以对其进行解码。

代码语言:javascript
复制
convert_str =  remov_unicode_char.decode("utf-8")

现在,您可以通过打印结果来检查结果。

代码语言:javascript
复制
print(convert_str)

输出:

代码语言:javascript
复制
The world as we have created it is a process of our thinking. It cannot be changed without changing our thinking.
票数 0
EN

Stack Overflow用户

发布于 2021-06-30 18:14:01

替换方法:

如果只有一个或两个字符要删除,我建议您使用字符串.replace()方法:

一个例子可以放在quote_text键上

代码语言:javascript
复制
your_dict['quote_text'].replace('\u201c','')

Regex:

如果您正在与多个字符进行斗争,我建议您深入Regex。

更多:

如果您希望将您的函数应用于整个字典值,您可以使用dict理解:

代码语言:javascript
复制
d2 = dict((k, f(v)) for k, v in d1.items())

d1是您的原始字典,f是您的函数。

在我们的例子中,应该是:

代码语言:javascript
复制
d2 = dict((k, v.replace('\u201c','')) for k, v in d1.items())
票数 0
EN

Stack Overflow用户

发布于 2021-06-30 18:23:40

如果要删除多个字符,可以使用列表指示要删除哪些字母:

代码语言:javascript
复制
text = '{ "work": "\u201cfun\u201c", "foo": ["bar", "baz"] }'
remove_chars = ['u201c', 'b', 'f']
new_text = ''.join([ch for ch in text if ch not in remove_chars])

若要替换不需要的字符,请创建一个字典来保存替换,然后进行更改:

代码语言:javascript
复制
subs = {
  '\u201c': "'",
  'z': 't'
}
text = '{ "work": "\u201cfun\u201c", "foo": ["bar", "baz"] }'
letter_list = [(subs[ch] if ch in subs else ch)  for ch in text]
new_text = ''.join(letter_list)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68199664

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档