0
votes

Comment faire partie de la chaîne séparée par un caractère spécifique?

Par exemple, j'ai ce fichier (peut être un):

AX_001_123_890_v01  
AX_001_123_890_v01_preview_lores


0 commentaires

3 Réponses :


-1
votes
>>> n = 3
>>> groups = text.split('_')
>>> '_'.join(groups[:n]), '_'.join(groups[n:])
This will give you two the two required groups in python.

1 commentaires

Merci mais je cherche la syntaxe TCL :-)



2
votes

Avez-vous eu de la difficulté à utiliser Split et / ou utiliser Join? La documentation est assez simple: Split code> , JOIN CODE> et lrange code> (ceci obtient un subliste d'éléments d'une liste ):

set input "AX_001_123_890_v01"
set output [join [lrange [split $input "_"] 0 2] "_"]
# AX_001_123

set input "AX_001_123_890_v01_preview_lores"
set output [join [lrange [split $input "_"] 0 2] "_"]
# AX_001_123


0 commentaires

1
votes

Vous pouvez également envisager une expression régulière en utilisant [regsub] pour extraire une chaîne de préfixe: xxx

  • L'expression régulière utilise un quantificateur {0} , {1} , ... pour correspondre à un numéro spécifique n de sous- Expressions ([^ _] + _) contre la chaîne d'entrée. Ce nombre n est égal à (m-1) , avec m étant le nombre d'éléments "éléments" que vous souhaitez trouver.
  • Une approche à base de regex ne nécessite pas la chaîne d'entrée (et ses substrations) qualifiant comme des listes de TCL valides.
  • Vous enregistrez quelques appels de commande.
  • Disclaimer: Je ne suis pas un sorcier de regex, l'expression susmentionnée pourrait peut-être être améliorée, peut-être, au-delà de ma compréhension.

0 commentaires