J'ai besoin de remplacer la chaîne dans la dernière occurrence après avoir fractionné la chaîne
J'ai essayé la manière ci-dessous, mais elle donne une sortie incorrecte comme ci-dessous est le code que j'ai essayé. p> la sortie que je reçois comme 1.120 code> p>
1.120-test code>. Mais ici, j'ai besoin de la sortie comme
1.20-test code> p> p>
3 Réponses :
Selon ma compréhension, vous avez besoin de quelque chose comme ceci:
y = "1-19" str1 = '' if '-' in y: splt = y.split('-') str1 = "%s-%s"%(splt[0], int(splt[-1])+1) else: splt = y.split('.') str1 = "%s.%s"%(splt[0], int(splt[-1])+1) print str1
Cela ne fonctionne pas si nous avons y = "1.19-test" code>. Donner une erreur
ValueError: littéral non valide pour int () avec base 10: 'Test' code>. La sortie dont j'ai besoin est
1.20-test code>
Puis modifier le code ci-dessus pour gérer - et cela fonctionnera
trop compliqué. Stockez simplement la sortie de la division, apportez vos modifications et utilisez .join code>
méthode pour récupérer la chaîne souhaitée. . Code> Vous pouvez simplement garder une trace des caractères supplémentaires dans une variable
restes code>, avant d'appliquer la logique de fractionnement.
y = "1.19-test"
leftover = ''
if '-' in y:
temp_y, leftover = y[:y.index('-')], y[y.index('-'):]
else:
temp_y = y
split_list = temp_y.split('.')
split_list[-1] = str(int(split_list[-1]) + 1) #convert last value to int, add 1, convert result back to string.
result = '.'.join(split_list) #joins all items in the list using "."
result += leftover #add back any leftovers
print(result)
#Output:
1.20-test
Cela ne fonctionne pas si nous avons y = "1.19-test" code>. Donner une erreur
ValueError: littéral non valide pour int () avec base 10: 'Test' code>. La sortie dont j'ai besoin est
1.20-test code>
Je n'aurais pas attendu que cela fonctionne avec une contribution comme celle de toute façon. Vous voudrez peut-être modifier votre question ou poser un nouveau. "Besoin de remplacer la chaîne dans la dernière occurrence après avoir fractionné la chaîne" bien, ce qui n'est clairement pas la dernière occurrence avec une entrée comme celle-là. Cette entrée doit être ajoutée en question.
Mise à jour de la question .. S'il vous plaît aidez-moi à ce sujet
@moong D'accord, a mis à jour ma réponse.
Ça a fonctionné ... merci@parithosh singh
Le code ci-dessous a fonctionné, j'ai pris la référence du code @paritosh Singh.
Peut-être que vous pourriez poster quelques autres exemples d'entrée et de sortie souhaitée afin de donner une idée plus claire de ce que vous essayez de faire.