J'ai donc cherché pendant des heures comment faire cela via AppleScript et je ne vois aucun article à ce sujet.
En gros, j'ai la chaîne suivante :
@junior_cat23, [ID]-[E9B-Z8X-H1V-722]
Je veux que le script ne supprime que cette partie :
, [ID]-[E9B-Z8X-H1V-722]
Il ne me reste donc que :
@junior_cat23
J'utilise les "délimiteurs d'éléments de texte d'AppleScript", mais le problème est que cela supprime également les caractères du texte que je veux conserver.
Voici le script que j'utilise :
set theName to "@junior_cat23, [ID]-[E9B-Z8X-H1V-722]"
tell application "Finder"
-- Remove Characters
set oldDelims to AppleScript's text item delimiters
set the_strings_to_strip to {"[", "]", "-", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0"}
set the_files to theName
repeat with a_file in the_files
set the_name to theName
repeat with I from 1 to count of the_strings_to_strip
set AppleScript's text item delimiters to item I of the_strings_to_strip
set the_text_items to text items of the_name
set AppleScript's text item delimiters to ""
set the_name to the_text_items as string
end repeat
end repeat
-- Remove Preceding and Trailing Spaces in String
set trimName to "echo \"" & the_text_items & "\" | xargs"
set nameTrimmed to (do shell script trimName)
end tell
J'obtiens le résultat suivant :
"@_,"
Je veux juste enlever les caractères du côté des parenthèses et garder les autres. J'apprécierai une solution qui ne nécessite pas de gestionnaire puisque je vais utiliser le script avec une application qui n'accepte pas les gestionnaires.
0 votes
C'était rapide. Merci beaucoup. Je n'arrive pas à croire qu'une solution aussi simple soit si difficile à trouver.
0 votes
Veuillez indiquer toutes les exigences lorsque vous posez une question ! N'introduisez pas de variables secondaires après coup !
0 votes
Que faire si j'ai plusieurs noms, par exemple "@junior_cat23 @james_cat24 [ID]-[E9B-Z8X-H1V-722]" et que je souhaite conserver les deux alors que la chaîne ne contient pas de virgules ?