Necesito tira una palabra específica de una cadena.

Pero me parece que python método de tira parece que no pueden reconocer un orden de palabra. La acabo de quitar cualquier secuencia de caracteres que se pasa al parámetro.

Por ejemplo:

>>> papa = "papa is a good man"
>>> app = "app is important"
>>> papa.lstrip('papa')
" is a good man"
>>> app.lstrip('papa')
" is important"

¿Cómo podría tira de una palabra determinada con python?

No te ves en la documentación de S.lstrip? Hace algo completamente diferente a lo que usted desea hacer. Desea replace esta cadena con nada.
¿Qué desea que suceda a la palabra «papaya»?
Supongo que la salida debe ser ya. Vamos a esperar para la OP para confirmar
Está usted seguro de que el aceptado la respuesta está bien? Pruebe este print "papa is papa is papa".replace('papa', '') y si el resultado está bien con usted, a continuación, la aceptó respuesta es correcta.
Sólo quería añadir algo. Ten en cuenta que si usted está tratando de despojar a la última palabra de una frase, a continuación, usted se quedará con un espacio al final de la frase, y esto puede no ser el deseado. Por ejemplo, si usted hizo papa.replace('man', ''). Usted va a terminar con 'papa is a good ' (observe el espacio después de 'good'.

OriginalEl autor Zen | 2014-05-15

4 Comentarios

  1. 37

    Uso str.replace.

    >>> papa.replace('papa', '')
    ' is a good man'
    >>> app.replace('papa', '')
    'app is important'

    Alternativamente, utilizar re y utilizar expresiones regulares. Esto permitirá la eliminación de líderes/espacios.

    >>> import re
    >>> papa = 'papa is a good man'
    >>> app = 'app is important'
    >>> papa3 = 'papa is a papa, and papa'
    >>>
    >>> patt = re.compile('(\s*)papa(\s*)')
    >>> patt.sub('\1mama\2', papa)
    'mama is a good man'
    >>> patt.sub('\1mama\2', papa3)
    'mama is a mama, and mama'
    >>> patt.sub('', papa3)
    'is a, and'
    Trate de print "papa is papa is papa".replace('papa', '')
    Distrae y no terminar con los ejemplos de la utilización de re, lo que permitirá la eliminación de líderes/espacios.
    La pregunta no es clara en cuanto tal. 🙁

    OriginalEl autor metatoaster

  2. 6

    Manera más fácil sería simplemente reemplazarlo con una cadena vacía.

    s = s.replace('papa', '')
    Usted puede agregar también un espacio después de la papa – supongo que él no quiere un espacio a la izquierda de la cadena.
    Trate de print "papa is papa is papa".replace('papa', '')

    OriginalEl autor iamdev

  3. 2

    También puede utilizar una expresión regular con re.sub:

    article_title_str = re.sub(r'(\s?-?\|?\s?Times of India|\s?-?\|?\s?the Times of India|\s?-?\|?\s+?Gadgets No'',
                               article_title_str, flags=re.IGNORECASE)

    OriginalEl autor Akshay Karapurkar

  4. 1

    Proporcionar usted sabe el valor de índice de comienzo y final de cada palabra que usted desea sustituir en la matriz de caracteres, y sólo desea reemplazar particular fragmento de datos, se podría hacer algo como esto.

    >>> s = "papa is papa is papa"
    >>> s = s[:8]+s[8:13].replace("papa", "mama")+s[13:]
    >>> print(s)
    papa is mama is papa

    Alternativamente, si usted también desea conservar el original de la estructura de datos, usted podría almacenar en un diccionario.

    >>> bin = {}
    >>> s = "papa is papa is papa"
    >>> bin["0"] = s
    >>> s = s[:8]+s[8:13].replace("papa", "mama")+s[13:]
    >>> print(bin["0"])
    papa is papa is papa
    >>> print(s)
    papa is mama is papa

    OriginalEl autor Michael Strobel

Dejar respuesta

Please enter your comment!
Please enter your name here