1.python如何去除字符串中不想要的字符
问题:
过滤用户输入中前后多余的空白字符
' ++++abc123--- '
过滤某windows下编辑文本中的'\r':
'hello world \r\n'
去掉文本中unicode组合字符,音调
"Zhào Qián Sūn Lǐ Zhōu Wú Zhèng Wáng"
如何解决以上问题?
去掉两端字符串: strip(), rstrip(),lstrip()
123456789101112131415
#!/usr/bin/python3 s = ' -----abc123++++ ' # 删除两边空字符print(s.strip()) # 删除左边空字符print(s.rstrip()) # 删除右边空字符print(s.lstrip()) # 删除两边 - + 和空字符print(s.strip().strip('-+'))
删除单个固定位置字符: 切片 + 拼接
123456
#!/usr/bin/python3 s = 'abc:123'# 字符串拼接方式去除冒号new_s = s[:3] + s[4:]print(new_s)
删除任意位置字符同时删除多种不同字符:replace(), re.sub()
1234567891011
#!/usr/bin/python3 # 去除字符串中相同的字符s = '\tabc\t123\tisk'print(s.replace('\t', '')) import re# 去除\r\n\t字符s = '\r\nabc\t123\nxyz'print(re.sub('[\r\n\t]', '', s))
同时删除多种不同字符:translate() py3中为str.maketrans()做映射
1234567
#!/usr/bin/python3 s = 'abc123xyz'# a _> x, b_> y, c_> z,字符映射加密print(str.maketrans('abcxyz', 'xyzabc'))# translate把其转换成字符串print(s.translate(str.maketrans('abcxyz', 'xyzabc')))
去掉unicode字符中音调
#!/usr/bin/python3 import sysimport unicodedatas = "Zhào Qián Sūn Lǐ Zhōu Wú Zhèng Wáng"remap = { # ord返回ascii值 ord('\t'): '', ord('\f'): '', ord('\r'): None }# 去除\t, \f, \ra = s.translate(remap)''' 通过使用dict.fromkeys() 方法构造一个字典,每个Unicode 和音符作为键,对于的值全部为None 然后使用unicodedata.normalize() 将原始输入标准化为分解形式字符 sys.maxunicode : 给出最大Unicode代码点的值的整数,即1114111(十六进制的0x10FFFF)。 unicodedata.combining:将分配给字符chr的规范组合类作为整数返回。 如果未定义组合类,则返回0。'''cmb_chrs = dict.fromkeys(c for c in range(sys.maxunicode) if unicodedata.combining(chr(c))) #此部分建议拆分开来理解b = unicodedata.normalize('NFD', a)''' 调用translate 函数删除所有重音符'''print(b.translate(cmb_chrs))
2.Python如何删除字符串的最后3个字符
1、首先在jupyter notebook中新建一个空白的python文件:
2、然后定义一个字符串,用字符串截取的方式打印出排除最后三个字符的结果,这里的“s[:-3]”的意思就是从字符串取第0个字符至倒数第三个字符的前一个字符,这样就截取了最后三个字符,它们就不会出现了:
3、最后按下crtl+回车键即可看到结果。以上就是Python删除字符串的最后3个字符的方法:
3.python怎么把字符串最后一个字符去掉
这个操作对Python语言来说,是非常容易的。
string1='1234567'
string2=string1[:-1]#去掉尾部一个字符
string3=string1[1:-1]#去掉头尾各一个字符
string4=string1[1:]#去掉头部一个字符
string5='##1234567##'
string6=string5.rstrip('#')#去掉尾部所有#
string7=string5.strip('#')#去掉头尾所有#
string8=string5.lstrip('#')#去掉头部所有#
print(string6)
print(string7)
print(string8)
4.python如何删除字符串中指定位置字符
字符串的话,你可以把他当作列表处理:
str = 'hello world'
如果是想去掉第一个字母'o',并且知道是第5个字符, index=4
1.使用分片 new_str = str[:4]+str[5:] ;
2.循环读取new_str = ''.join([str[i] for i in range(len(str)) if i!= 4]) ;
3.字符替换new_str = str.replace('o','',1) #后面的1代表替换第一个匹配'o'的字符 。
Python(英语发音:/ˈpaɪθən/), 是一种面向对象、解释型计算机程序设计语言,由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年,Python 源代码同样遵循 GPL(GNU General Public License)协议。Python语法简洁而清晰,具有丰富和强大的类库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。常见的一种应用情形是,使用Python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块,性能要求特别高,就可以用C/C++重写,而后封装为Python可以调用的扩展类库。需要注意的是在您使用扩展类库时可能需要考虑平台问题,某些可能不提供跨平台的实现。
5.python如何删除字符串中指定位置的字符
#!/bin/env pythonimport shutil, sys, osdarray = [ "Entering directory", "In function ", "Leaving directory", "__NR_SYSCALL_BASE", "arm-hisiv100-linux-ar ", "arm-hisiv100-linux-gcc ", "but argument is of type", "dereferencing type-punned pointer will break strict-aliasing rules", "differ in signedness", "does break strict-aliasing rules", "embedded '\\0' in format", "excess elements in array initializer", "implicit declaration of", "make -C ", " rm -f", "this is the location of the previous definition", "warning: multi-line comment"]def isInArray (array, line): for item in array: if item in line: return True return Falseif __name__ == '__main__': argv = sys.argv argc = len(argv) if argc < 2: print "Usage: %s <file>" %(os.path.basename(argv[0])) exit() fname = argv[1] fresult = fname + ".result" with open(fname, 'r') as f: with open(fresult, 'w') as g: for line in f.readlines(): if not isInArray(darray, line): g.write(line)
关于Python相关内容感兴趣的读者可查看本站专题:《Python文件与目录操作技巧汇总》、《Python文本文件操作技巧汇总》、《Python URL操作技巧总结》、《Python图片操作技巧总结》、《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》
6.python如何删除字符串中指定位置字符
字符串的话,你可以把他当作列表处理:
str = 'hello world'
如果是想去掉第一个字母'o',并且知道是第5个字符, index=4
1.使用分片 new_str = str[:4]+str[5:] ;
2.循环读取new_str = ''.join([str[i] for i in range(len(str)) if i!= 4]) ;
3.字符替换new_str = str.replace('o','',1) #后面的1代表替换第一个匹配'o'的字符 。
Python(英语发音:/ˈpaɪθən/), 是一种面向对象、解释型计算机程序设计语言,由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年,Python 源代码同样遵循 GPL(GNU General Public License)协议。Python语法简洁而清晰,具有丰富和强大的类库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。常见的一种应用情形是,使用Python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块,性能要求特别高,就可以用C/C++重写,而后封装为Python可以调用的扩展类库。需要注意的是在您使用扩展类库时可能需要考虑平台问题,某些可能不提供跨平台的实现。
7.Python如何去除字符串
去掉两端字符串: strip(), rstrip(),lstrip()
123456789101112131415
#!/usr/bin/python3 s = ' -----abc123++++ ' # 删除两边空字符print(s.strip()) # 删除左边空字符print(s.rstrip()) # 删除右边空字符print(s.lstrip()) # 删除两边 - + 和空字符print(s.strip().strip('-+'))
删除单个固定位置字符: 切片 + 拼接
123456
#!/usr/bin/python3 s = 'abc:123'# 字符串拼接方式去除冒号new_s = s[:3] + s[4:]print(new_s)
删除任意位置字符同时删除多种不同字符:replace(), re.sub()
1234567891011
#!/usr/bin/python3 # 去除字符串中相同的字符s = '\tabc\t123\tisk'print(s.replace('\t', '')) import re# 去除\r\n\t字符s = '\r\nabc\t123\nxyz'print(re.sub('[\r\n\t]', '', s))
同时删除多种不同字符:translate() py3中为str.maketrans()做映射
1234567
#!/usr/bin/python3 s = 'abc123xyz'# a _> x, b_> y, c_> z,字符映射加密print(str.maketrans('abcxyz', 'xyzabc'))# translate把其转换成字符串print(s.translate(str.maketrans('abcxyz', 'xyzabc')))
去掉unicode字符中音调
#!/usr/bin/python3 import sysimport unicodedatas = "Zhào Qián Sūn Lǐ Zhōu Wú Zhèng Wáng"remap = { # ord返回ascii值 ord('\t'): '', ord('\f'): '', ord('\r'): None }# 去除\t, \f, \ra = s.translate(remap)''' 通过使用dict.fromkeys() 方法构造一个字典,每个Unicode 和音符作为键,对于的值全部为None 然后使用unicodedata.normalize() 将原始输入标准化为分解形式字符 sys.maxunicode : 给出最大Unicode代码点的值的整数,即1114111(十六进制的0x10FFFF)。 unicodedata.combining:将分配给字符chr的规范组合类作为整数返回。 如果未定义组合类,则返回0。'''cmb_chrs = dict.fromkeys(c for c in range(sys.maxunicode) if unicodedata.combining(chr(c))) #此部分建议拆分开来理解b = unicodedata.normalize('NFD', a)''' 调用translate 函数删除所有重音符'''print(b.translate(cmb_chrs))
8.python怎么把字符串最后一个字符去掉
python把字符串最后一个字符去掉的方法:def DelLastChar(str): str_list=list(str) str_list.pop() return "".join(str_list)new_str=DelLastChar("abcdx")print new_str最后两行是测试,这个函数的作用就是删除字符串的最后一个字符。
思路就是,将字符串打散为一个list,然后pop出这个list的最后一个元素,然后再将这个list,整合join为一个字符串。
转载请注明出处代码入门网 » python字符串删除字符