0 votes

comment couper toutes les notes de bas de page entre crochets [x] d'une longue chaîne de texte Wikipedia ?

Je veux conserver la structure du paragraphe mais supprimer tous les crochets de fermeture du texte qui se trouve dans le presse-papiers.

Par exemple - ce texte :

Les trois bandes sont la marque d'identité d'Adidas. Elles ont été utilisées sur les vêtements et les chaussures de la société à des fins de marketing. La marque, qu'Adidas a achetée en 1952 à l'entreprise sportive finlandaise Karhu Sports pour l'équivalent de 1 600 euros et deux bouteilles de whisky,[7][8] a connu un tel succès que Dassler a décrit Adidas comme "The three stripes company"[7][9].

Je veux que ce soit comme ça (quelle que soit la longueur de la chaîne de texte) :

Les trois bandes sont la marque d'identité d'Adidas. Elles ont été utilisées sur les vêtements et les chaussures de la société à des fins de marketing. La marque, qu'Adidas a achetée en 1952 à la société sportive finlandaise Karhu Sports pour l'équivalent de 1 600 euros et deux bouteilles de whisky, a connu un tel succès que Dassler a décrit Adidas comme "The three stripes company".

J'ai essayé mais ça supprime la plupart de la chaîne :

set theName to (the clipboard)
set y to characters 1 thru ¬
    ((offset of "[" in theName) - 2) ¬
        of theName as string

J'ai aussi essayé :

do shell script "sed -E -e 's|\\[.*||' -e 's|,||g' -e 's|^[ ]+||' -e 's|[ ]+$||'<<<" & theName's quoted form

4voto

user3439894 Points 52496

En utilisant cette regex \\[[^[a-zA-Z]+] con sed et son -E option dans un do shell script commande fonctionne pour moi.

Notez qu'il y a un supplément barre oblique inversée dans le regex nécessaire pour échapper à l'autre lorsqu'il est utilisé dans une do shell script commande . Sur Terminal ce serait : \[[^[a-zA-Z]+]

https://regex101.com est une bonne ressource pour tester expressions régulières .

Exemple AppleScript code :

set foo to "The three stripes are Adidas' identity mark, having been used on the company's clothing and shoe designs as a marketing aid. The branding, which Adidas bought in 1952 from Finnish sports company Karhu Sports for the equivalent of 1,600 euros and two bottles of whiskey,[7][8] became so successful that Dassler described Adidas as \"The three stripes company\".[7][9]"

set bar to do shell script "sed -E 's|\\[[^[a-zA-Z]+]||g' <<< " & foo's quoted form

Résultat

"Les trois bandes sont la marque d'identité d'Adidas. Elles ont été utilisées sur les vêtements et les chaussures de l'entreprise à des fins de marketing. La marque, qu'Adidas a achetée en 1952 à l'entreprise sportive finlandaise Karhu Sports pour l'équivalent de 1 600 euros et deux bouteilles de whisky, a connu un tel succès que Dassler a décrit Adidas comme "The three stripes company"."

Notes :

En regex utilisé cible un ensemble de croisillons carrés con chiffres entre eux. Ainsi, toute combinaison de par ex. [1] à un nombre quelconque de chiffres entre les croisillons carrés sera supprimé.


enter image description here

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