Comment faire pour supprimer le dernier n nombre de caractères numériques à partir d'une chaîne en perl
J'ai une situation où je dois enlever la dernière n
caractères numériques après une /
caractère.
Pour exemple:
/iwmout/sourcelayer/iwm_service/iwm_ear_layer/pomoeron.xml@@/main/lsr_int_vnl46a/61
Après la dernière /
, j'ai besoin du numéro 61 supprimés de la ligne de sorte que la sortie est,
/iwmout/sourcelayer/iwm_service/iwm_ear_layer/pomoeron.xml@@/main/lsr_int_vnl46a/
J'ai essayé d'utiliser hacher, mais il ne supprime que le dernier caractère, c'est à dire. 1, dans l'exemple ci-dessus.
La dernière partie, c'est à dire 61 ci-dessus peut être n'importe quoi, comme 221 ou 2 ou 100 quoi que ce soit. J'ai besoin de dépouiller le dernier nombre de caractères après la /
. Est-il possible en Perl?
OriginalL'auteur Pradeesh | 2011-05-23
Vous devez vous connecter pour publier un commentaire.
Une regex de substitution pour enlever les derniers chiffres:
\d+
correspond à une série de chiffres, et$
correspond à la fin de la ligne. Ils sont remplacés par la chaîne vide.si cette réponse a travaillé pour vous, s'il vous plaît marquer "Correct" en sélectionnant la case à cocher
OriginalL'auteur Tim
@Tim réponse de
$str =~ s/\d+$//
est tout droit, néanmoins, si vous voulez bande de la dernière n chiffres, caractères d'une chaîne, mais pas nécessairement tous de l'arrière chiffres que vous pourriez faire quelque chose comme ceci:Merci beaucoup pour les réponses. Mon problème était que je ne suis pas sûr de ce que exactement à la valeur de "n" est. Il ne cesse de changer ce que je suis la lecture ligne par ligne à partir d'un fichier. Tim Répondre a fait le tour :).
oui - c'est pourquoi j'ai commencé ma réponse avec un clin d'oeil à la vôtre =)
OriginalL'auteur maerics
OriginalL'auteur Sanjeev Kumar