How do you replace all the occurrences of a certain character in a string?

后端 未结 3 1580
一向
一向 2020-12-03 16:32

I am reading a csv into a:

import csv
import collections
import pdb
import math
import urllib

def do_work():
  a=get_file(\'c:/pythonwork/cds/c         


        
相关标签:
3条回答
  • 2020-12-03 17:02

    The problem is you're not doing anything with the result of replace. In Python strings are immutable so anything that manipulates a string returns a new string instead of modifying the original string.

    line[8] = line[8].replace(letter, "")
    
    0 讨论(0)
  • 2020-12-03 17:20

    I would use the translate method without translation table. It deletes the letters in second argument in recent Python versions.

    def remove_chars(line):
        line7=line[7].translate(None,'abcd')
        return line[:7]+[line7]+line[8:]
    
    line= ['ad','da','sdf','asd',
            '3424','342sfas','asdfaf','sdfa',
            'afase']
    print line[7]
    line = remove_chars(line)
    print line[7]
    
    0 讨论(0)
  • 2020-12-03 17:20

    You really should have multiple input, e.g. one for firstname, middle names, lastname and another one for age. If you want to have some fun though you could try:

    >>> input_given="join smith 25"
    >>> chars="".join([i for i in input_given if not i.isdigit()])
    >>> age=input_given.translate(None,chars)
    >>> age
    '25'
    >>> name=input_given.replace(age,"").strip()
    >>> name
    'join smith'
    

    This would of course fail if there is multiple numbers in the input. a quick check would be:

    assert(age in input_given)
    

    and also:

    assert(len(name)<len(input_given))
    
    0 讨论(0)
提交回复
热议问题