1 votes

Comment supprimer un point d'interrogation et tous les caractères suivants d'une chaîne de caractères ?

Comment puis-je créer une action d'automate (à enregistrer comme service système) pour supprimer un point d'interrogation et tous les caractères suivants d'une chaîne de caractères ?

Par exemple, changez ceci

https://www.nytimes.com/2021/04/13/books/review/somebooktitle.html?action=click&algo=identity&block=editors_picks_recirc&fellback=false&imp_id=857225215&impression_id=9ec8fd81-a1ef-12eb-a9ba-2593f4310346&index=1&pgtype=Article&pool=editors-picks-ls&region=ccolumn&req_id=877591687&surface=home-featured&variant=0_identity&action=click&module=editorContent&pgtype=Article&region=CompanionColumn&contentCollection=Trending

à ce

https://www.nytimes.com/2021/04/13/books/review/somebooktitle.html

0 votes

Tetsujin : Parfait ! Merci ! Je vous dois une bière ou quelque chose. utilisateur3439894 : Oui, souvent les URI dans une barre d'adresse, mais je veux aussi supprimer les informations de suivi/utilisateur des liens que les gens m'envoient dans les e-mails, ou ceux que je trouve ailleurs, avant de les charger avec un navigateur.

1 votes

User279030, RE : " mais je veux aussi supprimer les informations de suivi/utilisateur des liens que les gens m'envoient dans les e-mails, ou ceux que je trouve ailleurs, avant de les charger avec un navigateur". -- Veuillez consulter le Notes : de ma réponse. J'ai ajouté des informations pour le cas où le texte sélectionné ne se trouve pas dans un champ de texte modifiable. La configuration de la Automator Service/action rapide avec cette option ne remplace pas le texte sélectionné mais place le texte sélectionné modifié dans la fenêtre de l'écran. presse-papiers pour être ensuite collé à l'endroit voulu.

1voto

user3439894 Points 52496

Si le texte sélectionné ( URL dans cet exemple) se trouve dans un champ modifiable, c'est-à-dire une zone de texte ou un document modifiable, vous pouvez alors créer un fichier de type Automator Service/action rapide réglage Le flux de travail reçoit le [texte] actuel dans [toute application]. avec [La sortie remplace le texte sélectionné en ajoutant un Exécuter AppleScript action en utilisant soit exemple AppleScript code ci-dessous :

Voici une méthode que vous pouvez utiliser :

set theString to "https://www.nytimes.com/2021/04/13/books/review/somebooktitle.html?action=click&algo=identity&block=editors_picks_recirc&fellback=false&imp_id=857225215&impression_id=9ec8fd81-a1ef-12eb-a9ba-2593f4310346&index=1&pgtype=Article&pool=editors-picks-ls&region=ccolumn&req_id=877591687&surface=home-featured&variant=0_identity&action=click&module=editorContent&pgtype=Article&region=CompanionColumn&contentCollection=Trending"

set myString to ¬
    text items 1 thru ¬
        ((offset of "?" in theString) - 1) ¬
            of theString as text

Les retours :

https://www.nytimes.com/2021/04/13/books/review/somebooktitle.html

Une autre méthode :

set theString to "https://www.nytimes.com/2021/04/13/books/review/somebooktitle.html?action=click&algo=identity&block=editors_picks_recirc&fellback=false&imp_id=857225215&impression_id=9ec8fd81-a1ef-12eb-a9ba-2593f4310346&index=1&pgtype=Article&pool=editors-picks-ls&region=ccolumn&req_id=877591687&surface=home-featured&variant=0_identity&action=click&module=editorContent&pgtype=Article&region=CompanionColumn&contentCollection=Trending"

set {TID, AppleScript's text item delimiters} to ¬
    {AppleScript's text item delimiters, "?"}
set myString to first text item of theString
set AppleScript's text item delimiters to TID

Les retours :

https://www.nytimes.com/2021/04/13/books/review/somebooktitle.html

Pour utiliser le exemple AppleScript code montré ci-dessus, dans le Exécuter AppleScript action remplace la valeur par défaut code avec :

on run {input, parameters}

    set theString to input as text

    set myString to ¬
        text items 1 thru ¬
            ((offset of "?" in theString) - 1) ¬
                of theString as text

    return myString

end run

Ou :

on run {input, parameters}

    set theString to input as text

    set {TID, AppleScript's text item delimiters} to ¬
        {AppleScript's text item delimiters, "?"}
    set myString to first text item of theString
    set AppleScript's text item delimiters to TID

    return myString

end run

Notes :

Soit exemple de la AppleScript code ne retournera que le texte jusqu'à, mais sans inclure le point d'interrogation dans toute chaîne sélectionnée de texte qui contient un point d'interrogation .

Si la chaîne sélectionnée de texte ne contient pas de point d'interrogation la chaîne sélectionnée de texte est remplacé par lui-même.


Le site Automator Service/action rapide tel qu'il est actuellement configuré ci-dessus ne permet pas de sélectionner des texte qui ne se trouve pas dans un champ de texte modifiable.

Si vous souhaitez pouvoir sélectionner du texte qui ne se trouve pas dans un champ de texte modifiable, vous pouvez laisser l'option de sélection de texte à l'écran. [La sortie remplace le texte sélectionné non coché et remplacer return myString avec set the clipboard to myString ce qui place la version modifiée chaîne de caractères sur le presse-papiers et de là, vous pouvez le coller où vous voulez.

-3voto

WGroleau Points 3272

Puisque votre intention (apparemment) est de supprimer les paramètres d'un URI, je suppose que vous avez affaire à des liens dans des pages Web.

Dans ce cas, il pourrait être intéressant de créer une fonction JavaScript qui modifie tous les liens de la page actuelle de cette façon. Placez-la ensuite dans les signets de votre navigateur. Lorsque le besoin s'en fait sentir, cliquez dessus pour exécuter la fonction, puis cliquez sur vos liens modifiés.

J'ai fait quelque chose de vaguement similaire, mais je ne suis pas très bon en JavaScript. Je suis donc heureux que quelqu'un d'autre fournisse une mise en œuvre.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X