Python字符串处理:过滤字符串中的英文与符号,保留汉字

使用Python 的re模块,re模块提供了re.sub用于替换字符串中的匹配项。

1 re.sub(pattern, repl, string, count=0)

参数说明:

pattern:正则重的模式字符串

repl:被拿来替换的字符串

string:要被用于替换的原始字符串

count:模式匹配后替换的最大次数,省略则默认为0,表示替换所有的匹配

例如

import re
str = "hello,world!!%[545]你好234世界。。。"
str = re.sub("[A-Za-z0-9\!\%\[\]\,\。]", "", str)
print(str)

输出结果:你好世界
时间: 2024-08-24 19:25:22

Python字符串处理:过滤字符串中的英文与符号,保留汉字的相关文章

用js识别字符串中的英文字母字符和非字符(汉字)

前不久去阿里的在线笔试,最后一道题可算是难倒了我,题目大概是这样的:用原生的js实现字符串中的英文字母字符和汉字的识别,汉字按照两个单位计算,英文和字符按照一个单位计算,乍一想真不知道有什么好办法,以前写c代码太多,就用c代码对ascii的办法来,笔试结束字符才知道,js是很高大上的玩意儿,这招行不通.在这里我介绍一种很简单很靠谱的方法,用unicode字符集的办法来解决. 首先脑补一下小知识:unicode字符集数字0 - 128是英文字母字符(半角)的范畴,在这以外是其他字符(全角),用js

mysql拼接字符串和过滤字符的方法

数据 id                value 1        aa<p>QL实木颗粒</p> 2        bb<p>QL实木颗粒</p> 3        cc<p>QL实木颗粒</p> 1.拼接字符串 ##拼接字符串 update `z_biao` set `value` = CONCAT("前面添加字符串",`value`,"中间添加字符串", `value`, "

《Python CookBook2》 第一章 文本 - 过滤字符串中不属于指定集合的字符 &amp;&amp; 检查一个字符串是文本还是二进制

过滤字符串中不属于指定集合的字符 任务: 给定一个需要保留的字符串的集合,构建一个过滤函数,并可将其应用于任何字符串s,函数返回一个s的拷贝,该拷贝只包含指定字符集合中的元素. 解决方案: import string allchars = string.maketrans('','') #all chars table def makefilter(keep): delchars = allchars.translate(allchars,keep) def thefilter(s): retu

c# 过滤字符串中的重复字符

有字符串"a,s,d,v,a,v",如果想去除其中重复的字符,怎么做? 下面是一个方法,用Hashtable来记录唯一字符,排除重复字符,仅供参考. 1.过滤方法: public class OperationString { /// <summary> /// 过滤字符串中的重复字符 /// </summary> /// <param name="str">要过滤的字符串</param> /// <return

Python之数据结构:字符串中的方法

一.过滤字符串 1.strip() (1)去掉行收尾不可见字符 a = ' wejifrow ' print a print a.strip() 结果: wejifrow wejifrow (2)strip([chars]) a = '**weji**frow**' print a.strip('*') 结果: weji**frow (3)lstrip([chars]) rstrip([chars]) s='* dwiefi **' print s.lstrip('*') print s.rst

[.net]利用正则表达式过滤字符串中的HTML代码

01.<span style="white-space: pre;"> </span>/// <summary> 02. /// 过滤字符串中的html代码 03. /// </summary> 04. /// <param name="Str">传入字符串</param> 05. /// <returns>过滤后的字符串</returns> 06. public sta

通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串过滤程序,若字符串中出现多个相同的字符,将非首次出现的字符过滤掉。 比如字符串“abacacde”过滤结果为“abcde”。

这是华为2013的一个机试题,会好半天才想出来,用了三个for循环,可能有点繁琐,但只要慢慢看还是好理解的, 题目: 通过键盘输入一串小写字母(a~z)组成的字符串.请编写一个字符串过滤程序,若字符串中出现多个相同的字符,将非首次出现的字符过滤掉. 比如字符串"abacacde"过滤结果为"abcde". #include<stdio.h> #include<string.h> void main() { char a[]="aba

php正则过滤字符串中的控制字符

注: 控制字符 可能会导致页面显示不正常,尤其当含控制字符的字符串传递到javascript中的时候. 1 2 $str = chr(5).chr(6); 3 4 $str = 'a'; 5 for ($i = 0; $i < 20; $i++) { 6 $str .= chr($i) . '_'; 7 } 8 $str.='b'; 9 10 var_dump($str, preg_replace('/[\x0-\x20]/', '', $str));

python学习笔记之字符串

python中的字符串在C语言中体现为是一个字符数组,每次创建字符串时候需要在内存中开辟一块连续的空,并且一旦需要修改字符串的话,就需要再次开辟空间,万恶的+号每出现一次就会在内从中重新开辟一块空间. 字符串的输出格式: >>>name = "test" >>>print("my name is %s " %name) --输出结果:my name is test PS: 字符串是 %s;整数 %d;浮点数%f 字符串的函数: c