Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何删除非ASCII字符,但保留句点和空格?

如何删除非ASCII字符,但保留句点和空格?
EN

Stack Overflow用户
提问于 2011-12-31 18:23:45
回答 4查看 211.8K关注 0票数 121

我正在处理一个.txt文件。我想从文件中没有非ASCII字符的文本字符串。但是,我想留下空格和句号。目前,我也在剥离它们。代码如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
def onlyascii(char):
    if ord(char) < 48 or ord(char) > 127: return ''
    else: return char

def get_my_string(file_path):
    f=open(file_path,'r')
    data=f.read()
    f.close()
    filtered_data=filter(onlyascii, data)
    filtered_data = filtered_data.lower()
    return filtered_data

我应该如何修改onlyascii()来保留空格和句号?我想这不是太复杂,但我想不出来。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-12-31 18:29:33

您可以使用string.printable过滤字符串中不可打印的所有字符,如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
>>> s = "some\x00string. with\x15 funny characters"
>>> import string
>>> printable = set(string.printable)
>>> filter(lambda x: x in printable, s)
'somestring. with funny characters'

我机器上的string.printable包含:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~ \t\n\r\x0b\x0c

编辑:在Python 3上,filter将返回一个iterable。获取回字符串的正确方法是:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
''.join(filter(lambda x: x in printable, s))
票数 213
EN

Stack Overflow用户

发布于 2016-02-23 14:14:14

根据@artfulrobot的说法,这应该比filter和lambda更快:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import re
re.sub(r'[^\x00-\x7f]',r'', your-non-ascii-string) 

在这里查看更多示例Replace non-ASCII characters with a single space

票数 34
EN

Stack Overflow用户

发布于 2017-09-14 18:27:52

使用流利的Python (Ramalho) -强烈推荐。受第2章启发的列表理解单行者:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
onlyascii = ''.join([s for s in data if ord(s) < 127])
onlymatch = ''.join([s for s in data if s in
              'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'])
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8689795

复制
相关文章
Node.js + express 的使用
变化的路由 我们再访问服务器时描绘涉及到许许多多的路由,这是我们不可能将他们都一一列举出来,所以我们就可以用 ‘ :’ 来解决,如下:
圆号本昊
2021/09/24
2.7K0
【Node.js】Express框架的基本使用
官方给出的概念:Express是基于Node.js平台,快捷,开放,极简的Web开发框架
坚毅的小解同志的前端社区
2023/03/19
3.8K0
【Node.js】Express框架的基本使用
node.JS之Express--使用模板引擎
注册ejs模板为html页。以.ejs为后缀的模板页,现在的后缀名可以是.html
IT工作者
2022/05/13
1.8K0
Node.js 使用 express-jwt 解析 JWT
JWT 全称 JSON Web Token,是代替传统 session 认证的解决方案。其原理是服务端生成一个包含用户唯一标识的 JSON 对象,颁发给客户端。客户端请求需要权限的接口时,只要把这个 JSON 再原样发回给服务端,服务器通过解析就可识别用户。
张凯强
2019/11/19
3.7K0
Node.js 使用 express-jwt 解析 JWT
php curl 请求头、响应头[通俗易懂]
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/111628.html原文链接:https://javaforall.cn
全栈程序员站长
2022/02/18
2.8K0
获取响应头与发送头
回复@TiAmo玲 1、获取请求头 想要获取请求头,就需要会用抓包工具,目前比较普遍的就是fiddler。大家可以在百度搜索下载。首先我们打开fiddler 你会发现左侧这里不停地增加,这里看到的就是
孟船长
2018/05/18
2.1K0
后端实战教程:如何使用 Node.js 开发 RESTful API 接口(Node.js + Express + Sequelize + MySQL)
本教程手把手教你搭建一套使用 Node.js + Express + Sequelize + MySQL 构建的后端服务,详细描述通过 Node.js 与数据库通讯。整个服务搭建起来后,我们使用 Postman 对整个后端服务进行测试。本教程每段代码我都亲手测过,保证百分百没有错误,请打开你的 terminal 跟随本教程一起操作,从这里开始,成为一名后端工程师。
蒋川@卡拉云
2022/07/11
11.9K0
后端实战教程:如何使用 Node.js 开发 RESTful API 接口(Node.js + Express + Sequelize + MySQL)
php curl 请求头、响应头
lukachen
2023/10/22
3620
php curl 请求头、响应头
HTTP响应头中可以使用的各种响应头字段
大佬教程:https://blog.csdn.net/flang6157/article/details/103287119
华创信息技术
2022/05/28
2.2K0
如何在Node.js和Express中上传文件
大量的移动应用程序和网站允许用户上传个人资料图片和其他文件。 因此,在使用Node.js和Express构建REST API时,通常需要处理文件上传。
ccf19881030
2020/10/26
6.6K0
如何在Node.js和Express中上传文件
【原创】Selenium获取请求头、响应头
selenium是没有办法直接获取请求的详细Headers,很多时候我们我们是需要提取相关的参数来做进一步使用比如token之类的,这里推荐使用一个SeleniumWire模块来达到目的
拉灯的小手
2022/05/09
6.2K2
HTTP 响应头信息
HTTP请求头提供了关于请求,响应或者其他的发送实体的信息。 在本章节中我们将具体来介绍HTTP响应头信息。 应答头 说明 Allow 服务器支持哪些请求方法(如GET、POST等)。 Content-Encoding 文档的编码(Encode)方法。只有在解码之后才可以得到Content-Type头指定的内容类型。利用gzip压缩文档能够显著地减少HTML文档的下载时间。Java的GZIPOutputStream可以很方便地进行gzip压缩,但只有Unix上的Netscape和Windows上的IE 4、
用户8647142
2021/07/30
1.4K0
使用Node.js实现一个express框架
手写一个express系列 express的基本用法 const express = require("express"); const app = express(); app.get("/test", (req, res, next) => { console.log("*1"); // res.end("2"); next(); }); app.get("/test", (req, res, next) => { console.log("*2"); res.end("2");
Peter谭金杰
2020/08/10
8420
Http响应头知识
响应头 报文头包含若干个属性,格式为“属性名:属性值” 常见的响应头 Allow:服务器支持哪些请求方法 Content-Length:响应体的字节长度 Content-Type:响应体的MIME类型 Content-Encoding:设置数据使用的编码类型 Date:设置消息发送的日期和时间 Expire:设置响应体的过期时间,一个GMT时间,表示该缓存的有效时间 cache-controller:Expires的作用一致,都是指明当前资源的有效期,控制浏览器是否直接从浏览器缓存取数据还是重新发请求到服务
高大北
2022/06/14
9410
Node.js + express的安装,配置
     首先下载node.js,并安装:http://nodejs.org/download/
爱拼才会赢
2021/10/18
1.9K0
基于Node.js的Express框架
package.json文件中的start任务 下面即表示任务运行成功
_kyle
2020/08/24
5.5K0
基于Node.js的Express框架
HttpServletResponse ServletResponse 返回响应 设置响应头设置响应正文体 重定向 常用方法 如何重定向 响应编码 响应乱码
HttpServletResponse  和 ServletResponse  都是接口
noteless
2018/09/11
4.3K0
HttpServletResponse   ServletResponse 返回响应 设置响应头设置响应正文体 重定向 常用方法 如何重定向 响应编码 响应乱码
Node.js 框架 express 4.X API 中文手册【express()篇】
写过 node.js 应用的小伙伴们应该都知道 express 应用框架,它让我们在开发时候的路由设计简化,直接方便我们快速的开发,然而,因为版本更新的太快,导致像这类的API都没什么人愿意去翻译,哪怕翻译出来一段时间后,新的API又出来了。于是乎间接的让许多英语不好的小伙伴都不能好好的玩耍了。
疯狂的技术宅
2019/03/28
2.9K0
Node.js 框架 express 4.X API 中文手册【express()篇】
TP6响应输出图片设置响应头
ThinkPHP6响应输出图片,直接在浏览器显示,非下载文件 public function getQrCode() { $app_id = config('miniprogram.app_id'); $app_secret = config('miniprogram.app_secret'); $m_wx = Wxmini::getInstance($app_id, $app_secret); $scene = 'uid=1'; $page = 'pages/ind
用户8099761
2023/05/11
6720
点击加载更多

相似问题

如何使用Node.js / Express发回响应头?

86

使用Express节点设置响应头

10

如何使用express.js获取响应头

21

如何使用IIS Express记录请求/响应头?

10

查看Express JS响应头?

41
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文