精华内容
下载资源
问答
  • 似乎有一个比以下更简单的方法:123import strings ="string. With. Punctuation?" # Sample stringout = s.translate(string....如果你想更容易的话,就把你刚才写的东西包装在一个函数。好吧,用str.trans...

    似乎有一个比以下更简单的方法:

    1

    2

    3import string

    s ="string. With. Punctuation?" # Sample string

    out = s.translate(string.maketrans("",""), string.punctuation)

    有?

    在我看来很直接。你为什么要改变它?如果你想更容易的话,就把你刚才写的东西包装在一个函数中。

    好吧,用str.translate的副作用来做这项工作,似乎有点刻薄。我在想可能有一些更像str.strip(chars)的东西可以处理整个字符串,而不仅仅是我错过的边界。

    也取决于数据。在服务器名称中包含下划线的数据(在某些地方很常见)上使用这个命令可能会很糟糕。只要确保你知道数据,知道它是什么,或者你可以以clbuttic问题的一个子集结束。

    也取决于你所说的标点符号。"The temperature in the O'Reilly & Arbuthnot-Smythe server's main rack is 40.5 degrees.只包含一个标点符号,第二个。

    我很惊讶没有人提到string.punctuation根本不包括非英语标点符号。我在想。,!?:&215;""?等等。

    不适用于Unicode字符串?

    @约翰马钦,你忘了' '是标点符号。

    从效率的角度看,你不会打败

    1s.translate(None, string.punctuation)

    对于较高版本的python,请使用以下代码:

    1s.translate(str.maketrans('', '', string.punctuation))

    它使用一个查找表在C中执行原始字符串操作——除了编写自己的C代码,没有什么比这更好的了。

    如果速度不是问题,另一个选择是:

    1

    2exclude = set(string.punctuation)

    s = ''.join(ch for ch in s if ch not in exclude)

    这比s.replace替换为每个字符要快,但不能像下面计时中看到的那样执行非纯Python方法,如regexes或string.translate。对于这种类型的问题,在尽可能低的水平上做它会有回报。

    定时代码:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25import re, string, timeit

    s ="string. With. Punctuation"

    exclude = set(string.punctuation)

    table = string.maketrans("","")

    regex = re.compile('[%s]' % re.escape(string.punctuation))

    def test_set(s):

    return ''.join(ch for ch in s if ch not in exclude)

    def test_re(s): # From Vinko's solution, with fix.

    return regex.sub('', s)

    def test_trans(s):

    return s.translate(table, string.punctuation)

    def test_repl(s): # From S.Lott's solution

    for c in string.punctuation:

    s=s.replace(c,"")

    return s

    print"sets :",timeit.Timer('f(s)', 'from __main__ import s,test_set as f').timeit(1000000)

    print"regex :",timeit.Timer('f(s)', 'from __main__ import s,test_re as f').timeit(1000000)

    print"translate :",timeit.Timer('f(s)', 'from __main__ import s,test_trans as f').timeit(1000000)

    print"replace :",timeit.Timer('f(s)', 'from __main__ import s,test_repl as f').timeit(1000000)

    结果如下:

    1

    2

    3

    4sets : 19.8566138744

    regex : 6.86155414581

    translate : 2.12455511093

    replace : 28.4436721802

    感谢您提供的计时信息,我本来想自己做一些类似的事情,但您的设计比我所能做的任何事情都要好,现在我可以将它用作我将来要编写的任何计时代码的模板:)。

    很好的回答。您可以通过删除表来简化它。文档说:"对于只删除字符的翻译,将table参数设置为none"(docs.python.org/library/stdtypes.html_str.translate)

    对''.join()使用列表理解会使它更快一些,但速度不足以打败regex或translate。请参阅不带&91;&93;、python的列表理解,了解原因。

    你能解释一下"从主导入…"的语法吗??

    同样值得注意的是,translate()对于str和unicode对象的行为也不同,因此您需要确保始终使用相同的数据类型,但此答案中的方法对这两种类型都同样有效,这很方便。

    在python3中,table = string.maketrans("","")应替换为table = str.maketrans({key: None for key in string.punctuation})?

    做set(string.punctuation)的目的是什么?它只有独特的价值观。

    @Mlissner-效率。它是一个列表/字符串,你需要做一个线性扫描来找出字母是否在字符串中。不过,使用集合或字典,通常会更快(除了非常小的字符串),因为它不必检查每个值。

    @sparkandshine是的,除非您必须将每个键的序号映射到替换字符,所以在python 3中,它将是s.translate({ord(c): None for c in string.punctuation})。

    为了更新讨论,从python 3.6开始,regex现在是最有效的方法!它几乎比翻译快2倍。而且,套装和替换也不再那么糟糕了!它们都提高了4倍以上。)

    在python 3中,翻译表也可以由table = str.maketrans('', '', string.punctuation)docs.python.org/3/library/stdtypes.html_str.maketrans创建。

    我得到这个错误TypeError: translate() takes exactly one argument (2 given)。

    知道怎么解决这个问题吗

    类型错误:translate()只接受一个参数(给定2个)

    @是的,读你上面的评论…你用的是Python3,而不是Python2。

    正则表达式足够简单,如果你知道的话。

    1

    2

    3import re

    s ="string. With. Punctuation?"

    s = re.sub(r'[^\w\s]','',s)

    在上面的代码中,我们用空字符串替换(re.sub)所有非[字母数字字符(w)和空格(s)]。因此。还有?通过regex运行s变量后,变量"s"中将不存在标点符号。

    伟大的。你能解释一下吗?

    Unicode的,做的工作吗???????????????

    解释:"outlier取代需要Word字符(^)或空间与空字符串。要小心,虽然,比赛下划线W太,例如。

    "我认为它会sislam与Unicode Unicode与标志集,s = re.sub(r'[^\w\s]','',s, re.UNICODE)IU。在Linux测试它与Python 3它甚至没有标志使用泰米尔语文学?????????????????????????????。。。。。。。

    这是一个地方,你应该使用正则表达式。

    为了方便使用,我总结了在python 2和python 3中从字符串中去掉标点符号的注意事项。详细描述请参考其他答案。

    Python 2

    1

    2

    3

    4

    5import string

    s ="string. With. Punctuation?"

    table = string.maketrans("","")

    new_s = s.translate(table, string.punctuation) # Output: string without punctuation

    Python 3

    1

    2

    3

    4

    5import string

    s ="string. With. Punctuation?"

    table = str.maketrans({key: None for key in string.punctuation})

    new_s = s.translate(table) # Output: string without punctuation

    小纸条:你不需要理解做一dict键映射到给定的dictof a None;{key: None for key in string.punctuation}可以取代这是一个dict.fromkeys(string.punctuation)所有工作在C层有一个单一的呼叫。

    "谢谢你shadowranger,此更新。

    1myString.translate(None, string.punctuation)

    啊,我试过了,但在任何情况下都不行。mystring.translate(string.maketrans(",",),string.标点)工作正常。

    什么时候不起作用?

    注意,对于python 3中的str和python 2中的unicode,不支持deletechars参数。

    @AGF:即使在使用字典参数的unicode和py3k情况下,您仍然可以使用.translate()删除标点符号。

    mystring.translate(string.maketrans(","),string.punctuation)不与Unicode字符串(发现辛苦)

    marcmaxson @工作:myString.translate(str.maketrans("","", string.punctuation))是Unicode字符串在Python 3。虽然只在string.punctuation包括ASCII标点。点击链接在我以前的评论。它显示如何删除所有标点(包括Unicode One)。

    TypeError: translate() takes exactly one argument (2 given):(

    "briantingle看Python代码:3评论(它在我的护照的一个参数)。链接到Python代码是2,湖和它的作品与Unicode的Python 3适应

    我通常用这样的东西:

    1

    2

    3

    4

    5

    6

    7>>> s ="string. With. Punctuation?" # Sample string

    >>> import string

    >>> for c in string.punctuation:

    ... s= s.replace(c,"")

    ...

    >>> s

    'string With Punctuation'

    一个丑陋的一行:reduce(lambda s,c: s.replace(c, ''), string.punctuation, s)。

    很好,但是不能去除一些像长的连字符这样的问题。

    string.punctuation只是ASCII码!一种更正确(但也更慢)的方法是使用unicodedata模块:

    1

    2

    3

    4

    5# -*- coding: utf-8 -*-

    from unicodedata import category

    s = u'String — with - ?punctation ?...'

    s = ''.join(ch for ch in s if category(ch)[0] != 'P')

    print 'stripped', s

    你可以regex.sub(ur"\p{P}+","", text):

    不一定简单,但如果你更熟悉这个家庭的话,那就另当别论了。

    1

    2

    3import re, string

    s ="string. With. Punctuation?" # Sample string

    out = re.sub('[%s]' % re.escape(string.punctuation), '', s)

    因为字符串。标点符号有序列,-。以正确的、升序的、无间隔的、ASCII顺序。虽然python有这个权利,但是当您尝试使用string.pu点符号的子集时,它可能会因为意外的"-"而成为一个显示阻止符。

    事实上,这仍然是错误的。序列"93"被视为一个转义(巧合的是没有关闭),因此绕过了另一个故障),但没有转义。您应该使用re.escape(字符串、标点符号)来防止这种情况发生。

    是的,我省略了它,因为它在示例中起到了保持简单的作用,但是您认为它应该被合并是正确的。

    对于python 3 str或python 2 unicode值,str.translate()只接受字典;在该映射中查找代码点(整数),并删除映射到None的任何内容。

    删除(一些?)标点符号,使用:

    1

    2

    3

    4import string

    remove_punct_map = dict.fromkeys(map(ord, string.punctuation))

    s.translate(remove_punct_map)

    dict.fromkeys()类方法使得创建映射变得简单,根据键的顺序将所有值设置为None。

    要删除所有标点符号,而不仅仅是ASCII标点符号,您的表需要大一点;请参见J.F.Sebastian的答案(python 3版本):

    1

    2

    3

    4

    5import unicodedata

    import sys

    remove_punct_map = dict.fromkeys(i for i in range(sys.maxunicode)

    if unicodedata.category(chr(i)).startswith('P'))

    支持Unicode,string.punctuation是不够的。我的回答湖

    事实上,我的回答:"j.f.sebastian只是使用相同的字符作为一个顶级评为。添加您的Python版本表3。

    只有把作品评为最为ASCII字符串。你要明确索赔的Unicode支持。

    它j.f.sebastian @:Unicode字符串。IT标准的ASCII标点。我从来没有声称它带所有的标点。点是:-)提供正确的技术研究与unicode对象2 strPython对象。

    string.punctuation漏掉了现实世界中常用的大量标点符号。一个适用于非ASCII标点的解决方案如何?

    1

    2

    3

    4import regex

    s = u"string. With. Some?Really Weird、Non?ASCII。 「(Punctuation)」?"

    remove = regex.compile(ur'[\p{C}|\p{M}|\p{P}|\p{S}|\p{Z}]+', regex.UNICODE)

    remove.sub(u"", s).strip()

    就我个人而言,我认为这是从python字符串中删除标点符号的最佳方法,因为:

    它删除所有Unicode标点符号

    它很容易修改,例如,如果要删除标点符号,可以删除\{S},但保留类似$的符号。

    您可以对要保留的内容和要删除的内容进行具体说明,例如,\{Pd}只删除破折号。

    此regex还规范化空白。它将标签、回车和其他奇怪的东西映射到漂亮的单个空间。

    这使用了Unicode字符属性,您可以在维基百科上了解更多信息。

    下面是一个针对python 3.5的一行程序:

    1

    2import string

    "l*ots! o(f. p@u)n[c}t]u[a'ti"on#$^?/".translate(str.maketrans({a:None for a in string.punctuation}))

    这可能不是最好的解决方案,但我就是这样做的。

    1

    2import string

    f = lambda x: ''.join([i for i in x if i not in string.punctuation])

    这是我写的一个函数。它不是很有效,但很简单,您可以添加或删除任何您想要的标点:

    1

    2

    3

    4

    5

    6

    7def stripPunc(wordList):

    """Strips punctuation from list of words"""

    puncList = [".",";",":","!","?","/","\",",","#","@","$","&",")","(","""]

    for punc in puncList:

    for word in wordList:

    wordList=[word.replace(punc,'') for word in wordList]

    return wordList

    我还没看到这个答案。只需使用regex;它会删除除单词字符(\w和数字字符(\d外的所有字符,后跟空白字符(\s):

    1

    2

    3import re

    s ="string. With. Punctuation?" # Sample string

    out = re.sub(ur'[^\w\d\s]+', '', s)

    是因为它是一个\d冗余\w子集)。

    a number of Word字符子集被认为是人物?我的思想一个Word字符可以是任何字符构建真实的Word,例如A ZA Z?

    A是的,在"Word"正则表达式包括字母,数字和下划线。请描述一\w湖:在文档docs.python.org / 3 /图书馆/ re.html

    正如更新一样,我在python3中重写了@brian示例,并对其进行了更改,以将regex编译步骤移到函数内部。我在这里想的是时间的每一个步骤需要使功能工作。也许您使用的是分布式计算,并且不能在您的工作人员之间共享regex对象,并且需要在每个工作人员处执行re.compile步骤。另外,我还想知道针对python3的两种不同的maketrans实现的时间。

    1table = str.maketrans({key: None for key in string.punctuation})

    VS

    1table = str.maketrans('', '', string.punctuation)

    另外,我还添加了另一个方法来使用set,在这里我利用交集函数来减少迭代次数。

    这是完整的代码:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    31

    32

    33

    34

    35

    36

    37

    38

    39

    40

    41

    42

    43

    44import re, string, timeit

    s ="string. With. Punctuation"

    def test_set(s):

    exclude = set(string.punctuation)

    return ''.join(ch for ch in s if ch not in exclude)

    def test_set2(s):

    _punctuation = set(string.punctuation)

    for punct in set(s).intersection(_punctuation):

    s = s.replace(punct, ' ')

    return ' '.join(s.split())

    def test_re(s): # From Vinko's solution, with fix.

    regex = re.compile('[%s]' % re.escape(string.punctuation))

    return regex.sub('', s)

    def test_trans(s):

    table = str.maketrans({key: None for key in string.punctuation})

    return s.translate(table)

    def test_trans2(s):

    table = str.maketrans('', '', string.punctuation)

    return(s.translate(table))

    def test_repl(s): # From S.Lott's solution

    for c in string.punctuation:

    s=s.replace(c,"")

    return s

    print("sets :",timeit.Timer('f(s)', 'from __main__ import s,test_set as f').timeit(1000000))

    print("sets2 :",timeit.Timer('f(s)', 'from __main__ import s,test_set2 as f').timeit(1000000))

    print("regex :",timeit.Timer('f(s)', 'from __main__ import s,test_re as f').timeit(1000000))

    print("translate :",timeit.Timer('f(s)', 'from __main__ import s,test_trans as f').timeit(1000000))

    print("translate2 :",timeit.Timer('f(s)', 'from __main__ import s,test_trans2 as f').timeit(1000000))

    print("replace :",timeit.Timer('f(s)', 'from __main__ import s,test_repl as f').timeit(1000000))

    这是我的结果:

    1

    2

    3

    4

    5

    6sets : 3.1830138750374317

    sets2 : 2.189873124472797

    regex : 7.142953420989215

    translate : 4.243278483860195

    translate2 : 2.427158243022859

    replace : 4.579746678471565

    这里有一个没有regex的解决方案。

    1

    2

    3

    4

    5

    6

    7import string

    input_text ="!where??and!!or$$then:)"

    punctuation_replacer = string.maketrans(string.punctuation, ' '*len(string.punctuation))

    print ' '.join(input_text.translate(punctuation_replacer).split()).strip()

    Output>> where and or then

    用空格替换标点符号

    将单词之间的多个空格替换为单个空格

    删除尾随空格(如果有)条()

    1

    2

    3

    4

    5

    6>>> s ="string. With. Punctuation?"

    >>> s = re.sub(r'[^\w\s]','',s)

    >>> re.split(r'\s*', s)

    ['string', 'With', 'Punctuation']

    请编辑有更多的信息。"试试这个代码和只读"答案是气馁,因为他们searchable不包含的内容,不要解释为什么有人要"试试这个"。

    1

    2

    3import re

    s ="string. With. Punctuation?" # Sample string

    out = re.sub(r'[^a-zA-Z0-9\s]', '', s)

    在不太严格的情况下,使用一行程序可能会有所帮助:

    1''.join([c for c in s if c.isalnum() or c.isspace()])

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20#FIRST METHOD

    #Storing all punctuations in a variable

    punctuation='!?,.:;"\')(_-'

    newstring='' #Creating empty string

    word=raw_input("Enter string:")

    for i in word:

    if(i not in punctuation):

    newstring+=i

    print"The string without punctuation is",newstring

    #SECOND METHOD

    word=raw_input("Enter string:")

    punctuation='!?,.:;"\')(_-'

    newstring=word.translate(None,punctuation)

    print"The string without punctuation is",newstring

    #Output for both methods

    Enter string: hello! welcome -to_python(programming.language)??,

    The string without punctuation is: hello welcome topythonprogramminglanguage

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20with open('one.txt','r')as myFile:

    str1=myFile.read()

    print(str1)

    punctuation = ['(', ')', '?', ':', ';', ',', '.', '!', '/', '"',"'"]

    for i in punctuation:

    str1 = str1.replace(i,"")

    myList=[]

    myList.extend(str1.split(""))

    print (str1)

    for i in myList:

    print(i,end='

    ')

    print ("____________")

    使用regex函数进行搜索和替换,如下所示。如果必须重复执行该操作,则可以保留一个已编译的regex模式(标点符号)副本,这将加快速度。

    是否更正了string.标点符号区域设置?如果是这样,这可能不是最好的解决方案。

    我不确定,我没用过。我假设海报/读者会知道他们要替换的标点符号。

    嗯……我也不知道。我希望。标点符号可以在本地更正,但我不会依赖它。如果用户有一组特定的字符,那么编译后的regex是一个很好的方法,这可能是正确的。

    使用python从文本文件中删除停止字

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20print('====THIS IS HOW TO REMOVE STOP WORS====')

    with open('one.txt','r')as myFile:

    str1=myFile.read()

    stop_words ="not","is","it","By","between","This","By","A","when","And","up","Then","was","by","It","If","can","an","he","This","or","And","a","i","it","am","at","on","in","of","to","is","so","too","my","the","and","but","are","very","here","even","from","them","then","than","this","that","though","be","But","these"

    myList=[]

    myList.extend(str1.split(""))

    for i in myList:

    if i not in stop_words:

    print ("____________")

    print(i,end='

    ')

    这是如何把我们的文件改成大写的或小写字母。

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17print('@@@@This is lower case@@@@')

    with open('students.txt','r')as myFile:

    str1=myFile.read()

    str1.lower()

    print(str1.lower())

    print('*****This is upper case****')

    with open('students.txt','r')as myFile:

    str1=myFile.read()

    str1.upper()

    print(str1.upper())

    我喜欢使用这样的函数:

    1

    2

    3

    4

    5

    6def scrub(abc):

    while abc[-1] is in list(string.punctuation):

    abc=abc[:-1]

    while abc[0] is in list(string.punctuation):

    abc=abc[1:]

    return abc

    这是剥离从开始和结束字符;使用abc.strip(string.punctuation)而不是那个。它不会删除在搜索中的人物。

    展开全文
  • python 删除字符串中标点符号

    千次阅读 2019-09-15 10:23:33
  • 参考链接: Python字符串Strings decode “专业人士笔记”系列目录: 创帆云:Python成为专业人士笔记--强烈建议收藏!每日持续更新!​zhuanlan.zhihu.com 更改字符串的大小写 Python字符串类型...

    参考链接: Python的字符串Strings decode

    “专业人士笔记”系列目录:

     

     创帆云:Python成为专业人士笔记--强烈建议收藏!每日持续更新!​zhuanlan.zhihu.com

     

      

     

     更改字符串的大小写

     Python的字符串类型提供了许多作用于字符串大小写的函数。这些包括 :

     str.casefoldstr.upperstr.lowerstr.capitalizestr.titlestr.swapcase

     使用unicode字符串(Python 3中的默认字符串),这些操作方法不是1:1映射或可逆的。这些操作中的大多数是为了显示或者打印需要的字符串形式,而不是为了字符串格式标准化,接下来详细介绍各个方法的使用:

     str.casefold()

     

      print("XßΣ".casefold())

    # 'xssσ'

     

     

    print("XßΣ".lower())

    # 'xßς'

     

    #Python casefold() 方法是Python3.3版本之后引入的,其效果和 lower() 方法非常相#似,都可以转换字符串中所有大写字符为小写 

     

    #两者的区别是:lower() 方法只对ASCII编码,也就是‘A-Z’有效,对于其他语言(非汉语#或英文)中把大写转换为小写的情况只能用 casefold() 方法 

     

     str.upper()

     str.upper接受字符串中的每个字符,并将其转换为对应的大写字母,例如:

     

       "This is a 'string'.".upper()

     # "THIS IS A 'STRING'."

     

     str.lower()

     str.lower的作用正好相反;它获取字符串中的每个字符,并将其转换为等价的小写字母:

     

       "This IS a 'string'.".lower()

     # "this is a 'string'."

     

     str.capitalize()

     str.capitalize 返回字符串的大写版本,也就是说,它使第一个字符大写,其余字符小写

     

      "this Is A 'String'.".capitalize()

    # "This is a 'string'."

     

     str.title()

     title返回字符串的标题格式,也就是说,每个单词的开头字母都是大写的,其他字母都是小写的

     

       "this Is a 'String'".title()

     # "This Is A 'String'"

     

     str.swapcase()

     

      swapcase返回一个新的string对象,在这个对象中,所有小写字符都被转换为大写,所有大写字符都被转换为小写 

     

     当一个集合类型字符串需要处理时,使用map函数是最高效和简洁的:

     

      print(list(map(str.upper,["These","are","some","'strings'"])))

     

    #输出:['THESE', 'ARE', 'SOME', "'STRINGS'"]

     

     翻译字符串中的字符

     Python支持对str的翻译方法,该方法允许指定翻译表(用于替换)以及过程中应该删除的任何字符

     

      translation_table = str.maketrans("aeiou", "12345")  #按位置进行翻译替换

    my_string = "This is a string!"

     

    print(my_string.translate(translation_table))

     

    #输出:Th3s 3s 1 str3ng!

     

     Python的字符串模块提供字符串相关的高级操作。要使用它们,请导入string模块

     

      import string

    print(string.ascii_letters)  #所有的ascii字符

     

    #输出:abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ

     

     

    print(string.ascii_lowercase)  #所有的ascii小写字符

     

    #输出:abcdefghijklmnopqrstuvwxyz

     

    print(string.ascii_uppercase) # 所有的ascii大写字符 

     

    #输出:'ABCDEFGHIJKLMNOPQRSTUVWXYZ'

     

    print(string.digits)  # 所有十进制数字字符 

     

    #输出:'0123456789'

     

    print(string.hexdigits) # 所有十六进制数字字符 

     

    #输出:'0123456789abcdefABCDEF'

     

    print(string.octaldigits) # 所有八进制数字字符 

     

    #输出:'01234567'

     

    print(string.punctuation) # C语言环境中被认为是标点符号的所有字符 

     

    #输出:'!"#$%&'()*+,-./:;<=>?@[]^_`{|}~'

     

    print(string.whitespace #所有被认为是空格的ASCII字符

     

    #输出:' tnrx0bx0c'

     

    print(string.printable) #  包含所有可打印字符及字符串的组合、数字字符串ascii字母,字符串。标点符号、空格等

     

    #输出:'0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&'()*+,-./:;<=>?@[]^_`{|}~

     tnrx0bx0c'

     

     

     

     

     删除字符串首尾字符

     Python提供了三种方法,能够从字符串中删除前导字符和尾随字符:str.strip、str.rstrip和str.lstrip。这三个方法都返回一个新字符串对象,其中删除了不需要的字符

     str.strip([chars])

     str.strip在给定的字符串中删除参数中包含的任何前导字符或尾随字符;如果不提供字符或不提供字符,则默认情况下删除所有空白字符。例如 :

     

      print("      创帆云       ".strip())

     

     #输出:创帆云   不带任何空格 

     

     还可以删除指定的字符:

     

      print("aaaaaaaaaaaa创帆云aaaa".strip('a'))

     

    #输出 创帆云

     

     str.rstrip([chars]) 和 str.lstrip([chars])

     这些方法与str.strip()具有类似的语义和参数,它们的区别在于它们开始的方向。rstrip()从字符串的末尾开始,而str.lstrip()从字符串的开头开始 :

     

      print("aaaaaaaaaaaa创帆云aaaa".lstrip('a'))

    #输出:创帆云aaaa

     

    print("aaaaaaaaaaaa创帆云aaaa".rstrip('a'))

    #输出:aaaaaaaaaaaa创帆云

     

     反转字符串

     使用内置的reverse()函数可以反转字符串,该函数接受一个字符串并以相反的顺序返回一个迭代器 :

     

      print(reversed('hello'))

     

    #注意这里返回的是迭代器

     

     用生成式返回反转后的字符:

     

      print(list(c for c in (reversed('hello'))))

     

    #['o', 'l', 'l', 'e', 'h']

     

     当然,也可以将返回的字符重新拼装成字符串:

     

      print("".join(reversed('hello')))

     

    # olleh

     

     字符串拆分

     split(sep=None, maxsplit=-1)获取一个字符串并返回原始字符串的子字符串列表。

     其拆分行为的不同取决于sep参数是提供的还是省略的。如果没有提供sep,那么只要有空格,就会发生分割。但是,前面和后面的空白将被忽略,多个连续的空白字符将被视为单个空白字符

     

      print(" This is a sentence. ".split())

     

    #输出 ['This', 'is', 'a', 'sentence.']

     

     按照指定的字符进行拆分:

     

      print(" This is a sentence. ".split('s'))

     

    #输出 [' Thi', ' i', ' a ', 'entence. ']

     

     默认情况下,分隔符每次出现时都进行分割,但是maxsplit参数限制了发生分割的次数。默认值-1表示没有限制 :

     

      print(" This is a sentence. ".split('s',1))

     

    # [' Thi', ' is a sentence. ']  只根据第一个出现的s字符串拆分

     

     字符串替换

     Python的str类型还有一个方法,可以将给定字符串中的一个子字符串替换为另一个子字符串:

     str.replace(old, new[, count]):

     

      print('创帆云'.replace('帆','易'))   将字符串所有的'帆'字替换成'易'

     

    #输出:创易云    

     

     其中replace的第3个参数,是指定替换多少次,如下:

     

      print('创帆云创帆云'.replace('帆','易',1))

     

    #输出:创易云创帆云     可以看到,只把第一个出现的汉字替换了

     

     字符串组成

     Python的str类型还具有一些用于分析字符串内容的方法。这些是str.isalpha, str.isdigit, str.isalnum, str.isspace。大小写可以用str.isupper、str.islower和str.istitle,下面分别讲述:

     str.isalpha 验证给定字符串中的是否所有字符都是字母,如果是则返回True

     

      print("Hello World".isalpha())

     

    print("HelloWorld2".isalpha())

     

    print("HelloWorld".isalpha())

     

    #输出:

     False  #有空格

     False  #有数2

     True   

     

     str.isupper, str.islower, str.istitle

     这些方法验证给定字符串中的大小写

     

      print("HeLLO WORLD".isupper())

     

    print("HeLLO WORLD".islower())

     

    print("Hello World".istitle())

     

    #输出:

     False

     False

     True  #有关title函数,请参阅字符串那篇文章

     

     str.isdecimal, str.isdigit, str.isnumeric

     isdecimal 如果只有十进制字符,则返回True,否则为False

     isdigit 所有字符都是数字,并且其中至少有一个字符,则返回True

     isnumeric 如果只有数字字符,则返回True,否则为False 。

     其输出矩阵如下:

     

     

      

     

     str.isalnum

     这是str.isalpha和str.isnumeric的组合,如果给定字符串中的所有字符都是字母或数字,那么它的计算结果就是True

     

      "Hello2World".isalnum()

    #True

     

    "Hello World".isalnum()

    #False 里面有空格

     

     str.isspace

     如果字符串只包含空白字符,则计算为True

     

      print("trn".isspace())

    #True,在python里上述都算空白

     

    print(" ".isspace())

    #True

     

    print("".isspace())

    #False 没有值不算空白

     

     字符串包含关系

     Python非常直观地检查一个字符串是否包含给定的子字符串。只需使用in操作符即可:

     

      print('z' in 'zhou')

     

    #True

     

     list列表到字符串的转换

     字符串可以用作分隔符,使用join()方法将列表字符连接成一个字符串。例如,可以创建一个字符串,其中列表中的每个元素用空格分隔:

     

      " ".join(["once","upon","a","time"])

    # once upon a time

     

    #也可以用特定的字符串连接:

    "---".join(["once", "upon", "a", "time"])

     

    #once---upon---a---time

     

     子字符串出现次数

     str.count(sub[, start[, end]])

     str.count返回一个整型数,表示子字符串在另一个字符串中出现的次数。可选参数start和end指示开始搜索和结束搜索的位置。默认情况下,将搜索整个字符串

     

       s = "She sells seashells by the seashore."

     

     s.count("sh")  # 2   sh在字符串中出现了2次

     

     s.count("seashells") # 1

     

     

     字符串填充

     Python提供了一些函数来对字符串进行赋值填充,使得文本之间更容易对齐

     

      a = "hello world"

     

    print(a.ljust(20,'X'))  # hello worldXXXXXXXXX

     

    print(a.rjust(20,'X'))  # XXXXXXXXXhello world

     

     判断首尾字符

     为了在Python中判断给定字符串的开头和结尾,可以使用方法str.startswith()和str.endswith()

     str.startswith(prefix[, start[, end]])

     顾名思义,str.startswith用于判断给定字符串是否以前缀中的给定字符开头

     

      s = "This is a test string"

     

    s.startswith("Thi")  # True

    s.startswith("thi")  # False 注意大小写不一样

    s.startswith("is", 2)  #从第2位开始判断(索引从0开始),返回 True

     

     你还可以传一个元组作为参数:

     

      s = "This is a test string"

     

    print(s.startswith(('This', 'That')))

     

    #返回True ,如果是多个值,则只要满足其中一个条件即返回True

     

     str.endswith(prefix[, start[, end]])

     判断是否以某个子字符串结尾,其用法与startswith完全一样

     bytes字符串和unicode字符串转换

     文件和网络消息的内容可以表示二进制bytes编码字符。通常需要将它们转换为unicode字符以便正确显示

     通常,两都间的转换是通过 decode和encode两个函数完成的

     

       s = b'xc2xa9 abc' #  s是一个字节型字符串 ,而不是python3中默认的的UTF-8字符

     s[0]   # b'xc2' -  

     type(s)

     # bytes 

     

     u = s.decode('utf-8')

     

     # decode将字节型字符串转换为Unicode字符串(python3)

     

     u[0]

     #'u00a9' -  Unicode字符“版权标志”(U+00A9)' 

     

     type(u)  # str类型

     

     u.encode('utf-8')

     #b'xc2xa9 abc'

     str.encode 会将utf-8字符串转换为二次制字节字符串

     

     本文中代码已在python3云环境中调试通过,请勿转载,谢谢

    展开全文
  • 参考链接: Python字符串| 十六进制 hexdigits 参考链接: Python的字符串Strings decode “专业人士笔记”系列目录: 创帆云:Python成为专业人士笔记--强烈建议收藏!每日持续更新!​zhuanlan.zhihu.com ...

    参考链接: Python字符串| 十六进制 hexdigits

    参考链接: Python的字符串Strings decode 

    “专业人士笔记”系列目录: 

      

     创帆云:Python成为专业人士笔记--强烈建议收藏!每日持续更新!​zhuanlan.zhihu.com 

      

       

      

     更改字符串的大小写 

     Python的字符串类型提供了许多作用于字符串大小写的函数。这些包括 : 

     str.casefoldstr.upperstr.lowerstr.capitalizestr.titlestr.swapcase 

     使用unicode字符串(Python 3中的默认字符串),这些操作方法不是1:1映射或可逆的。这些操作中的大多数是为了显示或者打印需要的字符串形式,而不是为了字符串格式标准化,接下来详细介绍各个方法的使用: 

     str.casefold() 

      

      print("XßΣ".casefold()) 

    # 'xssσ' 

      

      

    print("XßΣ".lower()) 

    # 'xßς' 

      

    #Python casefold() 方法是Python3.3版本之后引入的,其效果和 lower() 方法非常相#似,都可以转换字符串中所有大写字符为小写  

      

    #两者的区别是:lower() 方法只对ASCII编码,也就是‘A-Z’有效,对于其他语言(非汉语#或英文)中把大写转换为小写的情况只能用 casefold() 方法  

      

     str.upper() 

     str.upper接受字符串中的每个字符,并将其转换为对应的大写字母,例如: 

      

       "This is a 'string'.".upper() 

     # "THIS IS A 'STRING'." 

      

     str.lower() 

     str.lower的作用正好相反;它获取字符串中的每个字符,并将其转换为等价的小写字母: 

      

       "This IS a 'string'.".lower() 

     # "this is a 'string'." 

      

     str.capitalize() 

     str.capitalize 返回字符串的大写版本,也就是说,它使第一个字符大写,其余字符小写 

      

      "this Is A 'String'.".capitalize() 

    # "This is a 'string'." 

      

     str.title() 

     title返回字符串的标题格式,也就是说,每个单词的开头字母都是大写的,其他字母都是小写的 

      

       "this Is a 'String'".title() 

     # "This Is A 'String'" 

      

     str.swapcase() 

      

      swapcase返回一个新的string对象,在这个对象中,所有小写字符都被转换为大写,所有大写字符都被转换为小写  

      

     当一个集合类型字符串需要处理时,使用map函数是最高效和简洁的: 

      

      print(list(map(str.upper,["These","are","some","'strings'"]))) 

      

    #输出:['THESE', 'ARE', 'SOME', "'STRINGS'"] 

      

     翻译字符串中的字符 

     Python支持对str的翻译方法,该方法允许指定翻译表(用于替换)以及过程中应该删除的任何字符 

      

      translation_table = str.maketrans("aeiou", "12345")  #按位置进行翻译替换 

    my_string = "This is a string!" 

      

    print(my_string.translate(translation_table)) 

      

    #输出:Th3s 3s 1 str3ng! 

      

     Python的字符串模块提供字符串相关的高级操作。要使用它们,请导入string模块 

      

      import string 

    print(string.ascii_letters)  #所有的ascii字符 

      

    #输出:abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ 

      

      

    print(string.ascii_lowercase)  #所有的ascii小写字符 

      

    #输出:abcdefghijklmnopqrstuvwxyz 

      

    print(string.ascii_uppercase) # 所有的ascii大写字符  

      

    #输出:'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 

      

    print(string.digits)  # 所有十进制数字字符  

      

    #输出:'0123456789' 

      

    print(string.hexdigits) # 所有十六进制数字字符  

      

    #输出:'0123456789abcdefABCDEF' 

      

    print(string.octaldigits) # 所有八进制数字字符  

      

    #输出:'01234567' 

      

    print(string.punctuation) # C语言环境中被认为是标点符号的所有字符  

      

    #输出:'!"#$%&'()*+,-./:;<=>?@[]^_`{|}~' 

      

    print(string.whitespace #所有被认为是空格的ASCII字符 

      

    #输出:' tnrx0bx0c' 

      

    print(string.printable) #  包含所有可打印字符及字符串的组合、数字字符串ascii字母,字符串。标点符号、空格等 

      

    #输出:'0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&'()*+,-./:;<=>?@[]^_`{|}~ 

     tnrx0bx0c' 

      

      

      

      

     删除字符串首尾字符 

     Python提供了三种方法,能够从字符串中删除前导字符和尾随字符:str.strip、str.rstrip和str.lstrip。这三个方法都返回一个新字符串对象,其中删除了不需要的字符 

     str.strip([chars]) 

     str.strip在给定的字符串中删除参数中包含的任何前导字符或尾随字符;如果不提供字符或不提供字符,则默认情况下删除所有空白字符。例如 : 

      

      print("      创帆云       ".strip()) 

      

     #输出:创帆云   不带任何空格  

      

     还可以删除指定的字符: 

      

      print("aaaaaaaaaaaa创帆云aaaa".strip('a')) 

      

    #输出 创帆云 

      

     str.rstrip([chars]) 和 str.lstrip([chars]) 

     这些方法与str.strip()具有类似的语义和参数,它们的区别在于它们开始的方向。rstrip()从字符串的末尾开始,而str.lstrip()从字符串的开头开始 : 

      

      print("aaaaaaaaaaaa创帆云aaaa".lstrip('a')) 

    #输出:创帆云aaaa 

      

    print("aaaaaaaaaaaa创帆云aaaa".rstrip('a')) 

    #输出:aaaaaaaaaaaa创帆云 

      

     反转字符串 

     使用内置的reverse()函数可以反转字符串,该函数接受一个字符串并以相反的顺序返回一个迭代器 : 

      

      print(reversed('hello')) 

      

    #注意这里返回的是迭代器 

      

     用生成式返回反转后的字符: 

      

      print(list(c for c in (reversed('hello')))) 

      

    #['o', 'l', 'l', 'e', 'h'] 

      

     当然,也可以将返回的字符重新拼装成字符串: 

      

      print("".join(reversed('hello'))) 

      

    # olleh 

      

     字符串拆分 

     split(sep=None, maxsplit=-1)获取一个字符串并返回原始字符串的子字符串列表。 

     其拆分行为的不同取决于sep参数是提供的还是省略的。如果没有提供sep,那么只要有空格,就会发生分割。但是,前面和后面的空白将被忽略,多个连续的空白字符将被视为单个空白字符 

      

      print(" This is a sentence. ".split()) 

      

    #输出 ['This', 'is', 'a', 'sentence.'] 

      

     按照指定的字符进行拆分: 

      

      print(" This is a sentence. ".split('s')) 

      

    #输出 [' Thi', ' i', ' a ', 'entence. '] 

      

     默认情况下,分隔符每次出现时都进行分割,但是maxsplit参数限制了发生分割的次数。默认值-1表示没有限制 : 

      

      print(" This is a sentence. ".split('s',1)) 

      

    # [' Thi', ' is a sentence. ']  只根据第一个出现的s字符串拆分 

      

     字符串替换 

     Python的str类型还有一个方法,可以将给定字符串中的一个子字符串替换为另一个子字符串: 

     str.replace(old, new[, count]): 

      

      print('创帆云'.replace('帆','易'))   将字符串所有的'帆'字替换成'易' 

      

    #输出:创易云     

      

     其中replace的第3个参数,是指定替换多少次,如下: 

      

      print('创帆云创帆云'.replace('帆','易',1)) 

      

    #输出:创易云创帆云     可以看到,只把第一个出现的汉字替换了 

      

     字符串组成 

     Python的str类型还具有一些用于分析字符串内容的方法。这些是str.isalpha, str.isdigit, str.isalnum, str.isspace。大小写可以用str.isupper、str.islower和str.istitle,下面分别讲述: 

     str.isalpha 验证给定字符串中的是否所有字符都是字母,如果是则返回True 

      

      print("Hello World".isalpha()) 

      

    print("HelloWorld2".isalpha()) 

      

    print("HelloWorld".isalpha()) 

      

    #输出: 

     False  #有空格 

     False  #有数2 

     True    

      

     str.isupper, str.islower, str.istitle 

     这些方法验证给定字符串中的大小写 

      

      print("HeLLO WORLD".isupper()) 

      

    print("HeLLO WORLD".islower()) 

      

    print("Hello World".istitle()) 

      

    #输出: 

     False 

     False 

     True  #有关title函数,请参阅字符串那篇文章 

      

     str.isdecimal, str.isdigit, str.isnumeric 

     isdecimal 如果只有十进制字符,则返回True,否则为False 

     isdigit 所有字符都是数字,并且其中至少有一个字符,则返回True 

     isnumeric 如果只有数字字符,则返回True,否则为False 。 

     其输出矩阵如下: 

      

      

       

      

     str.isalnum 

     这是str.isalpha和str.isnumeric的组合,如果给定字符串中的所有字符都是字母或数字,那么它的计算结果就是True 

      

      "Hello2World".isalnum() 

    #True 

      

    "Hello World".isalnum() 

    #False 里面有空格 

      

     str.isspace 

     如果字符串只包含空白字符,则计算为True 

      

      print("trn".isspace()) 

    #True,在python里上述都算空白 

      

    print(" ".isspace()) 

    #True 

      

    print("".isspace()) 

    #False 没有值不算空白 

      

     字符串包含关系 

     Python非常直观地检查一个字符串是否包含给定的子字符串。只需使用in操作符即可: 

      

      print('z' in 'zhou') 

      

    #True 

      

     list列表到字符串的转换 

     字符串可以用作分隔符,使用join()方法将列表字符连接成一个字符串。例如,可以创建一个字符串,其中列表中的每个元素用空格分隔: 

      

      " ".join(["once","upon","a","time"]) 

    # once upon a time 

      

    #也可以用特定的字符串连接: 

    "---".join(["once", "upon", "a", "time"]) 

      

    #once---upon---a---time 

      

     子字符串出现次数 

     str.count(sub[, start[, end]]) 

     str.count返回一个整型数,表示子字符串在另一个字符串中出现的次数。可选参数start和end指示开始搜索和结束搜索的位置。默认情况下,将搜索整个字符串 

      

       s = "She sells seashells by the seashore." 

      

     s.count("sh")  # 2   sh在字符串中出现了2次 

      

     s.count("seashells") # 1 

      

      

     字符串填充 

     Python提供了一些函数来对字符串进行赋值填充,使得文本之间更容易对齐 

      

      a = "hello world" 

      

    print(a.ljust(20,'X'))  # hello worldXXXXXXXXX 

      

    print(a.rjust(20,'X'))  # XXXXXXXXXhello world 

      

     判断首尾字符 

     为了在Python中判断给定字符串的开头和结尾,可以使用方法str.startswith()和str.endswith() 

     str.startswith(prefix[, start[, end]]) 

     顾名思义,str.startswith用于判断给定字符串是否以前缀中的给定字符开头 

      

      s = "This is a test string" 

      

    s.startswith("Thi")  # True 

    s.startswith("thi")  # False 注意大小写不一样 

    s.startswith("is", 2)  #从第2位开始判断(索引从0开始),返回 True 

      

     你还可以传一个元组作为参数: 

      

      s = "This is a test string" 

      

    print(s.startswith(('This', 'That'))) 

      

    #返回True ,如果是多个值,则只要满足其中一个条件即返回True 

      

     str.endswith(prefix[, start[, end]]) 

     判断是否以某个子字符串结尾,其用法与startswith完全一样 

     bytes字符串和unicode字符串转换 

     文件和网络消息的内容可以表示二进制bytes编码字符。通常需要将它们转换为unicode字符以便正确显示 

     通常,两都间的转换是通过 decode和encode两个函数完成的 

      

       s = b'xc2xa9 abc' #  s是一个字节型字符串 ,而不是python3中默认的的UTF-8字符 

     s[0]   # b'xc2' -   

     type(s) 

     # bytes  

      

     u = s.decode('utf-8') 

      

     # decode将字节型字符串转换为Unicode字符串(python3) 

      

     u[0] 

     #'u00a9' -  Unicode字符“版权标志”(U+00A9)'  

      

     type(u)  # str类型 

      

     u.encode('utf-8') 

     #b'xc2xa9 abc' 

     str.encode 会将utf-8字符串转换为二次制字节字符串 

      

     本文中代码已在python3云环境中调试通过,请勿转载,谢谢

    展开全文
  • 你不会被击败s.translate(None, string.punctuation)对于更高版本的Python,请使用以下代码:s.translate(str.maketrans('', '', string.punctuation))它使用查找表在C执行原始字符串操作-除了编写自己的C代码以外...
  • 目前的测试脚本是有缺陷的,因为它不像以前那样比较。为了更公平的比较,所有功能必须使用相同的标点...但是,如果您只想从unicode字符串中删除ascii标点符号,则编码,翻译和解码可能最好(取决于输入字符串的长度)...
  • python去掉字符串中标点符号

    千次阅读 2020-03-25 10:23:04
    方法1:使用列表添加每个字符,最后将列表拼接成字符串 import string def removePunctuation(text): temp = [] for c in text: if c not in string.punctuation: temp.append(c) newText = ''.join(temp) ...
  •   由于标点符号会影响我们分词的效果,这里我着重了解学习了标点去除的方法,总结了有以下几种,欢迎大家补充???? 二、解决方案 以下描述了4种方法: import re import string sentence = "+今天=是!2021! 年/8...
  • 慕盖茨4494581从效率的角度看,你不会打败s.translate(None, ...string.punctuation))它使用一个查找表在C执行原始字符串操作-除了编写自己的C代码之外,没有什么可以克服的。如果速度不...
  • 效率的角度来看,你不会打败s.translate(None, string.punctuation)它使用查找表在C执行原始字符串操作 - 没有太多的东西会打败你,而是编写你自己的C代码。如果速度不是一个担心,但另一个选项,虽然是:exclude ...
  • 从效率的角度看,你不会打败s.translate(None, string.punctuation)对于Python的更高版本,请使用以下代码:s.translate(str.maketrans('', '', string.punctuation))它使用一个查找表在C执行原始字符串操作-除了...
  • 从效率的角度来看,你不会打败s.translate(None, string.punctuation)对于更高版本的Python,请使用以下代码:s.translate(str.maketrans('', '', string.punctuation))它使用查找表在C执行原始字符串操作 – 除了...
  • 最近开始学机器学习,学习分析垃圾邮件,其中有一部分是要求去除一段字符中标点符号,查了一下,网上的大多很复杂例如这样importretemp= "想做/ 兼_职/学生_/ 的 、加,我Q: 1 5. 8 0. !!?? 8 6 。0. 2。 3 有,惊,...
  • 从效率的角度来看,你不会打败s.translate(None, string.punctuation)它使用查找表在C执行原始字符串操作 - 没有太多可以打败它,但编写自己的C代码。如果速度不是一个担心,但另一个选择,虽然是:exclude = set...
  • 例如,我经常在自己的自定义类工作使用它.假设我为每台需要处理的计算机定义了一个类.class Computer(object):def __init__(self,IP):self.IP = IP而现在我想对整个计算机做一些事情list_comps = [Computer(name,&...
  • Python3】去掉字符串中标点符号

    万次阅读 2018-09-20 10:32:25
    初学Python,对Python的语法还不太熟悉,因此记录实现各个基本功能的代码实现。... '''去掉字符串中标点符号 ''' #方法一:使用列表添加每个字符,最后将列表拼接成字符串,目测要五行代码以上 temp = [] for c ...
  • python 去除字符串里所有标点符号

    千次阅读 2019-09-17 15:14:33
    import re text = " Hello,. [world]! ()!" #r='[’!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~]+' r='[’!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~\n。!,]+' line=re.sub(r,'',text) ... Hello wo...
  • python | 字符串去除(中文、英文、数字、标点符号)

    千次阅读 多人点赞 2021-03-07 21:26:31
    python | 字符串去除(中文、英文、数字、标点符号)去除标点符号英文字符:string.punctuation中文字符:zhon.hanzi.punctuation去除英文s1: re.sub ...去除标点符号 英文字符:string.punctuation ...
  • 小编典典使用Python字符串中剥离所有非字母数字字符的最佳方法是什么?这个问题的PHP变体提供的解决方案可能会进行一些小的调整,但对我来说似乎并不是很“ pythonic”。作为记录,我不仅要删除句点和逗号(以及...
  • 最近开始学机器学习,学习分析垃圾邮件,其中有一部分是要求去除一段字符中标点符号,查了一下,网上的大多很复杂例如这样import retemp = "司法局让我和户 1 5. 8 0. !!?? 客户维护户外"temp = temp.decode("utf8...
  • 在西文数字的表示,很多格式是类似这样:123,456,789。如果得到这样的一个字符串,直接用int转换...例如:>>> n = '123,456,789'>>> n1 = n.replace(',','')>>> print n1123456789但是,如果当字符串中包括数字和...
  • str_info = "I love China?China is my home" start = time.time() resp = str_reverse1(str_info) print("运行时间:%.2f秒" % (time.time()-start)) print(resp)

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 11,114
精华内容 4,445
关键字:

python删除字符串中的标点符号

python 订阅