Ho uno stringa simile a questa:Come trovare una stringa duplicata con Pattern Matching?
[13:41:25] [100:Devnull]: 01:41:20, 13:41:21> |Hunit:Player-3693-07420299:DevnullYour [Chimaera Shot] hit |Hunit:Creature-0-3693-1116-3-87318-0000881AC4:Dungeoneer's Training DummyDungeoneer's Training Dummy 33265 Nature.
Nel caso in cui si chiedono, è da World of Warcraft.
mi piacerebbe finire con qualcosa di simile:
[13:41:25] [100:Devnull]: 01:41:20, 13:41:21> Your [Chimaera Shot] hit Dungeoneer's Training Dummy 33265 Nature.
Se si nota, "Formazione fittizia del Dungeoneer" viene stampato due volte. Sono riuscito a sbarazzarsi del primo "| Hunit" parte con qualcosa di simile:
str = "[13:41:25] [100:Devnull]: 01:41:20, 13:41:21> |Hunit:Player-3693-07420299:DevnullYour [Chimaera Shot] hit |Hunit:Creature-0-3693-1116-3-87318-0000881AC4:Dungeoneer's Training DummyDungeoneer's Training Dummy 33265 Nature."
str = string.gsub(str, "|Hunit:.*:.*Your", "Your")
che restituisce questo:
print(str) # => [13:41:25] [100:Devnull]: 01:41:20, 13:41:21> Your [Chimaera Shot] hit |Hunit:Creature-0-3693-1116-3-87318-0000881AC4:Dungeoneer's Training DummyDungeoneer's Training Dummy 33265 Nature.
ho quindi aggiungere un secondo gsub:
str = string.gsub(str, "|Hunit:.*:", "")
print(str) # => [13:41:25] [100:Devnull]: 01:41:20, 13:41:21> Your [Chimaera Shot] hit Dungeoneer's Training DummyDungeoneer's Training Dummy 33265 Nature.
Ma la doppia stringa "Dungeoneer's Training Dummy" viene ripetuta, ovviamente.
Come si può eliminare la stringa duplicata? Questa stringa può essere qualsiasi altra cosa, in questo caso è "Dungeoneer's Training Dummy", ma può essere il nome di qualsiasi altro target.
Questo lo fa, anche se ho ancora bisogno della coda "33265 Natura". Ti dispiacerebbe spiegare cosa succede nella funzione che hai usato? Se non è un problema. – user3209270
Dopo aver rimosso 33265 Nature, la funzione controlla se la stringa corrente può essere divisa in due metà e controllare se queste due metà sono uguali. Aggiungerò altri commenti ... –
Aggiorna la soluzione per mantenere "33265 Natura" al suo interno. –