如何从单词中删除一个字符,但仅限于它在开头或结尾?

use*_*742 2 python

def data_from_file(filename):

    list1 = []

    infile = open(filename, 'r', encoding="utf-8")

    lines = infile.read().split()
    lines = " ".join(lines)
    lines1 = lines.replace("." , "")
    lines2 = lines1.replace(",", "")
    lines3 = lines2.replace("\n", "")
    lines4 = lines3.replace("\"", "")
    lines5 = lines4.replace("\\", "")
    lines6 = lines5.replace("\"", "")
    lines7 = lines6.replace(":", "")
    lines8 = lines7.replace(";", "")

    lines9 = lines8.split()

    for i in lines9:
        if i.isalpha():
            list1.append(i)
    return list1
Run Code Online (Sandbox Code Playgroud)

嗨代码新手在这里,

基本上我需要做的是从某个文件中读取数据.然后我需要删除诸如(";:.,\n \n")之类的字符,但前提是它们位于单词的开头或结尾.目前我的程序会删除这些字符的每个实例.例如,我希望能够把"汽车"变成汽车,但是"可以保持不变"

该程序的下一部分仅涉及在每个位置选择具有字母数字字符的单词.这部分工作完美.

任何有关这方面的帮助将不胜感激.

wim*_*wim 12

str.strip 做你想要的:

>>> 'potato'.strip('o')
'potat'
Run Code Online (Sandbox Code Playgroud)

也有str.lstripstr.rstrip,如果你只想分别起飞的左侧或右侧.

  • 不,它应该只返回'"tat" (2认同)