Tôi có một chuỗi tương tự như sau:Cách tìm chuỗi trùng lặp với Ghép mẫu?
[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.
Trong trường hợp bạn tự hỏi, đó là từ World of Warcraft.
Tôi muốn kết thúc với một cái gì đó như thế này:
[13:41:25] [100:Devnull]: 01:41:20, 13:41:21> Your [Chimaera Shot] hit Dungeoneer's Training Dummy 33265 Nature.
Nếu bạn nhận thấy, "Đào tạo Dummy Dungeoneer của" được in hai lần. Tôi đã quản lý để thoát khỏi những người đầu tiên "| Hunit" phần với một cái gì đó như thế này:
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")
nào trả về này:
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.
tôi sau đó thêm một gsub thứ hai:
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.
Tuy nhiên, chuỗi kép "Dungeon đào tạo giả" được lặp đi lặp lại, rõ ràng.
Làm cách nào để loại bỏ chuỗi trùng lặp? Chuỗi này có thể là bất cứ thứ gì khác, trong trường hợp này là "Dummy Training Dummy" của Dungeoneer, nhưng nó có thể là tên của bất kỳ mục tiêu nào khác.
Điều đó xảy ra, mặc dù tôi vẫn yêu cầu dấu "33265 Thiên nhiên". Bạn có thể giải thích những gì xảy ra trong hàm bạn đã sử dụng không? Nếu không có nhiều rắc rối. – user3209270
Sau khi 33265 Thiên nhiên bị xóa, hàm sẽ kiểm tra xem chuỗi hiện tại có thể được chia thành hai nửa và kiểm tra xem hai nửa đó có giống nhau hay không. Tôi sẽ thêm ý kiến khác ... –
Cập nhật giải pháp để giữ cho '33265 Nature' trong đó. –