python int to string里面怎么把list里面的string的标点符号去掉?

Python 这个题,我等出来的结果还是算了标点符号请问怎么去掉标点符号呢?_百度作业帮
Python 这个题,我等出来的结果还是算了标点符号请问怎么去掉标点符号呢?
import reimport stringdef average_word_length(text):
mk=string.maketrans(string.punctuation," "*len(string.punctuation))
text=string.translate(text,mk)
return sum(map(lambda x:len(x),re.findall(r"[\s]?(\w+)[\s]?",text)))/len(re.findall(r"[\s]?(\w+)[\s]?",text))上次我还以为你只要分开一般的词边界和空格呢,这次的全了,比你的要求还全,全部的标点符号都给你去掉了,可以试试.
您可能关注的推广"ab c, d. 3 ? 5".replaceAll("[\\p{Punct}\\p{Space}]+", ""); // abcd35
String.replaceAll("[\\p{Punct}\\s]+", "")
引用 3 楼 huntor 的回复:
Java code"ab c, d. 3 ? 5".replaceAll("[\\p{Punct}\\p{Space}]+", ""); // abcd35
str.replaceAll("[\\p{Punct}\\p{Space}]+", "");
用replace啊!
引用 3 楼 huntor 的回复:
Java code"ab c, d. 3 ? 5".replaceAll("[\\p{Punct}\\p{Space}]+", ""); // abcd35
+1建议你看下API,里面对正则表达式的各种用法说得很详细。
str.replaceAll("[\\p{Punct}\\p{Space}]+", "");就好了,如果需要,给你一个正则表达式,将所有非英文和数字的其他字符全部换成你想要的结果
A lower-case alphabetic character: [a-z]\p{Upper}
An upper-case alphabetic character:[A-Z]\p{ASCII}
All ASCII:[\x00-\x7F]\p{Alpha}
An alphabetic character:[\p{Lower}\p{Upper}]\p{Digit}
A decimal digit: [0-9]\p{Alnum}
An alphanumeric character:[\p{Alpha}\p{Digit}]\p{Punct}
Punctuation: One of !"#$%&'()*+,-./:;&=&?@[\]^_`{|}~\p{Graph}
A visible character: [\p{Alnum}\p{Punct}]\p{Print}
A printable character: [\p{Graph}\x20]\p{Blank}
A space or a tab: [ \t]\p{Cntrl}
A control character: [\x00-\x1F\x7F]\p{XDigit}
A hexadecimal digit: [0-9a-fA-F]\p{Space}
A whitespace character: [ \t\n\x0B\f\r]
使用正则表达式:调用replceAll方法
引用 3 楼 huntor 的回复:
Java code"ab c, d. 3 ? 5".replaceAll("[\\p{Punct}\\p{Space}]+", ""); // abcd35
或去掉指定的符号:string.replce("?");
replaceAll ~~~
String.replaceAll("[\\p{Punct}\\s]+", "")
引用 2 楼 softroad 的回复:
String.replaceAll("[,; ]+", "");不行就加\转义下。1)">1)">1" ng-class="{current:{{currentPage==page}}}" ng-repeat="page in pages"><li class='page' ng-if="(endIndex<li class='page next' ng-if="(currentPage
相关文章阅读&& 查看话题
python 读文件 提取数据问题
假如一个txt文件中既有字符串,又有整型和浮点型数据,还有标点符号,例如:
文件a.txt内容:
asdafasd asfasd fdafd======adsa**ad
& & 3,& && &2.423
& & 4,& && &434.5
讨论一下如何编写python程序能够从该文件中获得整型和字符型数据,并将其存放在序列中。
我在网上搜了,只有一段代码:
import re&&
fp = open('c:/1.txt', 'r')&&
s = fp.readline()&&
print(s)&&
aList = re.findall('(?\d+(\.\d*)?|\.\d+)(?\d+)?',s) #使用正规表达式搜索字符串&&
print(aList)&&
for ss in aList:&&
print(ss+ss)&&
aNum = float((ss+ss))&&
print(aNum)&&
fp.close()&&
文件内容:
12.540&&56.00&&1.2e2 -1.2E2 3.0e-2 4e+3
我试过,以上代码在有逗号的时候也可以实现,当文件中有字符串时则无法实现了。其实以上可以用C++实现,只是琢磨了一天,也没用python实现,想跟大伙交流讨论一下。
你发个文件的数据格式,关键看数据用什么分割的,如果是空格,很简单的,我给你个例子
测试数据 a 222-= 3.232 20 53 53.343 adfadf
asdfasdf 234. 53=53.343 upotuit
-2 -342.2420 sf
#! /usr/bin/env python
for line in open(r'data.txt','r').readlines():
& & print 'line: ', ind
& & ind += 1
& & m = line.split(' ')
& & for item in m:
& && &&&if item.replace('.','').replace('-','').isdigit():
& && && && &if item.count('.')>0: # float point
& && && && && & print 'float: ', float(item)
& && && && &else:
& && && && && & print 'integer: ', int(item)
& && &&&else:
& && && && &print 'string: ',item
>>> ================================ RESTART ================================
string:&&a
string:&&222-=
float:&&3.232
integer:&&20
integer:&&53
float:&&53.343
string:&&adfadf
string:&&asdfasdf
float:&&234.23423
float:&&200.0
string:&&53=53.343
string:&&upotuit
integer:&&-2
float:&&-342.242
string:&&sf
>>> 你要确定文件的格式 包括字符串内容 分割符 数据类型
编程的时候按照顺序读取一行 判断是不是字符串 是则跳过该行(或转存起来)
是数字则用匹配去读进变量中去 : Originally posted by libralibra at
你发个文件的数据格式,关键看数据用什么分割的,如果是空格,很简单的,我给你个例子
测试数据 a 222-= 3.232 20 53 53.343 adfadf
asdfasdf 234. 53=53.343 upotuit
-2 -342.2420 sf
#! /us ... 你好,这行代码
m = line.split(' ')
是用空格来划分元素的。
这两行代码没看懂,能否解释一下?谢谢
& && &&&if item.replace('.','').replace('-','').isdigit():
& && && && &if item.count('.')>0 : Originally posted by zjq0415 at
你好,这行代码
m = line.split(' ')
是用空格来划分元素的。
这两行代码没看懂,能否解释一下?谢谢
& && &&&if item.replace('.','').replace('-','').isdigit():
& && && && &if item.count('.')&0... if item.replace('.','').replace('-','').isdigit():
替换完小数点(.)和负号(-)后剩下的全是数字,那就说明原来的item只有4种情况:
1.不含小数点和负号的正整数
2.含小数点不含负号的浮点数
3.不含小数点,含负号的负整数
4.包含小数点和负号的负浮点数
if item.count('.')>0
如果含有小数点,是2,4直接float()转换为浮点数,正负号自动处理
否则是1,3,直接int()转换为整型,正负号自动处理
如果除了.和-之外其他的不全是数字,那原来的item就是个字符串,直接输出 读出一行以后,先判断是否含有a到Z的字符
如果有的话,认为是字符串,跳过
如果仅仅含有数字逗号,空格tab数字点,则认为是数据
然后进行分割,这样做比较原始,没有正则表达式好 这帖子对初学者非常有用的
var cpro_id = 'u1216994';
欢迎监督和反馈:本帖内容由
提供,小木虫仅提供交流平台,不对该内容负责。欢迎协助我们监督管理,共同维护互联网健康,如果您对该内容有异议,请立即发邮件到
联系通知管理员,也可以通过QQ周知,我们的QQ号为:8835100
我们保证在1个工作日内给予处理和答复,谢谢您的监督。
小木虫,学术科研第一站,为中国学术科研研究提供免费动力
广告投放请联系QQ: &
违规贴举报删除请联系邮箱: 或者 QQ:8835100
Copyright &
eMuch.net, All Rights Reserved. 小木虫 版权所有}

我要回帖

更多关于 python int转string 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信