У меня есть текст, похожий на "Text the I need (extra descriptor) text"
, и я хочу "Text the I need text"
.Как удалить текст внутри скобок в Lua?
Я пытался использовать str:gsub('\([^)]*\)', "")
, но по некоторым причинам не работает
У меня есть текст, похожий на "Text the I need (extra descriptor) text"
, и я хочу "Text the I need text"
.Как удалить текст внутри скобок в Lua?
Я пытался использовать str:gsub('\([^)]*\)', "")
, но по некоторым причинам не работает
Попробуйте это:
str = str:gsub('%b()', '')
Вам нужен другой характер ускользания Lua's special regex flavor:
str:gsub('%([^)]*%)', "")
Помните это шаблоны не являются регулярными выражениями, поэтому вы можете избежать с помощью%. Я добавил начальное пространство на открывающие скобки, но вы можете его удалить, а затем удалить двойные пробелы отдельно.
str ="Text the I need (extra descriptor) text (more brackets)"
str = str:gsub(' %(.-%) ','')
print(str)
Оба правильные. –
@EgorSkriptunoff: Спасибо. Обычно избегать метасимволов регулярных выражений не нужно в классах символов, но я не был уверен, что Lua будет вести себя так, как ожидалось. Тогда я удалю вторую версию. –