python - 删除尾随空格、unicode 字符和特殊字符
问题描述
如何从 python 中的空格和特殊字符中清除字符串。
我正在抓取一些数据,但是得到的文本有点乱码。我想我可以清理使用join
strip
,enconding
但是我的输出是出乎意料的。
#cleaner function
def string_cleaner(rouge_text):
return (" ".join(rouge_text.strip()).encode('ascii', 'ignore').decode("utf-8")).replace("\\","")
print(string_cleaner("\n\t\t\t\t\t\t\t\t\t Nokia 9 PureView- 5.99\ "))
print(string_cleaner("\n\t\t\t\t\t\t\t\t\tMi Electronic Scooter\uff08Black\uff09EU\t \t\t\t\t\t\t\t\t "))
输出
如何清理字符串并获取正常文本?
解决方案
我不确定“清理我的字符串并获取普通文本”是什么意思,但也许尝试使用这种方式:
def string_cleaner(rouge_text):
# "" instead of " " in .join() method
return ("".join(rouge_text.strip()).encode('ascii', 'ignore').decode("utf-8")).replace("\\","")
print(string_cleaner("\n\t\t\t\t\t\t\t\t\t Nokia 9 PureView- 5.99\ "))
print(string_cleaner("\n\t\t\t\t\t\t\t\t\tMi Electronic Scooter\uff08Black\uff09EU\t \t\t\t\t\t\t\t\t "))
输出:
>>> print(string_cleaner("\n\t\t\t\t\t\t\t\t\t Nokia 9 PureView- 5.99\ "))
Nokia 9 PureView- 5.99
>>> print(string_cleaner("\n\t\t\t\t\t\t\t\t\tMi Electronic Scooter\uff08Black\uff09EU\t \t\t\t\t\t\t\t\t "))
Mi Electronic ScooterBlackEU
推荐阅读
- javascript - AJAX POST 中的随机数组值
- python - 带有请求库的 Azure Databricks Python 多处理 API 调用?
- javascript - Express 路由器接收索引页的 GET /index.html.var
- sbt - Sbt Uber Jar 组装MergeStrategy
- ios - Google ios 注册移动到 MainTabBarController
- django - 如何强制 AppEngine 柔性环境中的 Python 3 Django 应用程序始终使用 https?
- asp.net - COM 组件上的 QueryInterface 调用失败 TYPE_E_CANTLOADLIBRARY(从 VS2013 调用 VB6)
- html - 与填充,边距,边框相比,box-shadow 以不同的方式分配像素值?不按上->右->下->左的顺序
- python - 为什么在`for i in`循环之后允许`i`存在
- wso2 - 通过 API 检索自定义权限