2014-09-23 2 views
1

В Lua У меня есть следующий текст и хотите для формата он:GSUB текст с кодом

поступления:

<UNIT STYLE="BOLD">Example</UNIT> 
<UNIT STYLE="HANDLE">Example 2</UNIT> 
<UNIT STYLE="THR">Example 3</UNIT> 

Ожидаемый результат:

<BOLD>Example</BOLD> 
<UNIT STYLE="HANDLE">Example 2</UNIT> 
<UNIT STYLE="THR">Example 3</UNIT> 

Значения могут быть разными (например, Example, This is Text ...). Как это сделать? Должен ли я использовать gsub с рисунком?

ответ

1

Да, gsub это путь:

s=[[ 
<UNIT STYLE="BOLD">Example</UNIT> 
<UNIT STYLE="HANDLE">Example 2</UNIT> 
<UNIT STYLE="THR">Example 3</UNIT> 
]] 

print(s:gsub('<UNIT STYLE="BOLD">(.-)</UNIT>','<BOLD>%1</BOLD>')) 

Try также это:

print(s:gsub('<UNIT STYLE="(.-)">(.-)</UNIT>','<%1>%2<%1>')) 
+0

Спасибо. Что означает (.-)? – frgtv10

+3

@ frgtv10, '(.-)' означает захваченный не-жадный матч. См. [Справочное руководство] (http://www.lua.org/manual/5.2/manual.html#6.4.1). – lhf

Смежные вопросы