python字符处理
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python字符处理相关的知识,希望对你有一定的参考价值。
现有一个文本a.txt存放:
[ 1 2 3
4 5 6 7 8 1 3]
[ 2 3 4 5
6 7 8 9 10 11]
注意,后一个]后数字之间没有空格,前一个[和数字之前有空格,现要求得到b.txt:
1 2 3 4 5 6 7 8 1 3
2 3 4 5 6 7 8 9 10 11
求大神指导,python实现,在线等!采纳再送50分。
lines = file.readlines()
file.close()
temp1 = ''
for line in lines:
temp1 = temp1 +line.replace('\\n','')
temp1 = ' '.join(temp1.split())#多个空格变一个空格
temp1 = temp1[2:len(temp1)-1]#去掉首[ 和 尾 ]
temp1 = temp1.split('][ ')
b = open('b.txt','w')
b.write('\\n'.join(temp1))
b.close()追问
你好,按照你的这样写,输出的格式,字符之间没有了空格
输出成了:
1234567813
我需要的是每个数字之间有一个空格的,谢谢您了
file = open('test.txt')
lines = file.readlines()
file.close()
temp1 = ''
for line in lines:
temp1 = temp1 +line.replace('\\n','')
temp1 = ' '.join(temp1.split())#忽略tab键,多个空格变一个空格
temp1 = temp1[2:len(temp1)-1]#去掉首[ 和 尾 ]
temp1 = temp1.split('][ ')
b = open('b.txt','w')
b.write('\\n'.join(temp1))
b.close()追问
非常感谢您,但是又有一个新的问题了,结果的前面多一个空格,也是需要去掉的。
追答没多啊
追问结果应该是:
1 2 3 4 5 6 7 8 1 3
但是按照您的方法运行后是:
1 2 3 4 5 6 7 8 1 3
最前面多了一个空格
谢谢您!
这个是从 2 开始取的,你看下你有开过来没有
temp1 = temp1[2:len(temp1)-1]#去掉首[ 和 尾 ]
text = '''
[ 1 2 3
4 5 6 7 8 1 3]
[ 2 3 4 5
6 7 8 9 10 11]
'''
text1 = open('a.txt', 'r')
text2 = open('b.txt', 'a+')
for i in text1.replace('\\n ', '').split(']'):
text2.write(i.replace('[', ''))
text1.close()
text2.close()追问
你好,我跑了几遍还是不可以啊
追答#!coding=utf-8text = '''
[ 1 2 3
4 5 6 7 8 1 3]
[ 2 3 4 5
6 7 8 9 10 11]
'''
text1 = open('a.txt', 'r')
text2 = open('b.txt', 'a+')
for i in text:
if i.isdigit():
text2.write('%s ' % i)
if i == ']':
text2.write('\\n')
text1.close()
text2.close()# b.txt
1 2 3 4 5 6 7 8 1 3
2 3 4 5 6 7 8 9 1 0 1 1
Python字符处理
字符串就是一系列字符。在python中,用引号括起来的都是字符串,这里的引号可以是单引号也可以双引号。
例如:
>>> ‘this is a string‘
‘this is a string‘
>>> “this is also a string”
“this is also a string”
对字符串的操作:
#修改字符串的大小写#
1、修改单词首字符
>>> name=‘alben xue‘
>>> type(name)
<class ‘str‘>
>>> print(name.title())
Alben Xue
title()跟在变量后面,使用.连接,代表通过title()定义的方法对变量name进行处理
2,修改所有字符
>>> name
‘alben xue‘
>>> print(name.upper())
ALBEN XUE
>>> print(name.lower())
alben xue
#合并字符串#
在python中,通过“+”进行字符串合并
举例:
>>> first_name=‘xue‘
>>> last_name=‘lingming‘
>>> full_name=first_name+last_name
>>> message=‘hello,‘+full_name.upper()+"!"
>>> print(message)
hello,XUELINGMING!
“上述代码,把一串字符串存储到变量中,后续所有操作对变量执行,这样会显得更加方便”
#使用制表符或换行符来添加空白#
在编程种,空白泛指任何非打印字符、如空格、制表符、换行符。
1、使用制表符
>>> print(‘python‘)
python
>>> print(‘\tpython‘)
python
2、使用换行符
>>> print(‘python\C##\nPHP\nJavaScript‘)
python\C##
PHP
JavaScript
3、制表符与换行符共同使用
>>> print(‘Languages:\n\tPython\n\tC##\n\tPHP‘)
Languages:
Python
C##
PHP
#删除多余的空白符#
>>> favorite_language=‘python ‘
>>> favorite_language
‘python ‘
可以看到这个变量中有一个空格,对于程序而言是能识别的,对个个人而言是多余的,如何删除
>>> favorite_language.rstrip()
‘python‘
这只是临时的,要想永久的删除空白,需要把这个字符串存储到变量中
>>> favorite_language=favorite_language.rstrip()
>>> favorite_language
‘python‘
剔除字符串开头的字符
>>> name=‘ alben ‘
>>> name
‘ alben ‘
>>> name.lstrip() #去头#
‘alben ‘
>>> name.rstrip() #去尾#
‘ alben‘
>>> name.strip() #去头去尾#
‘alben‘
P
以上是关于python字符处理的主要内容,如果未能解决你的问题,请参考以下文章