RTF 서식 태그가있는 Microsoft Lync 대화에서 값을 가져 오는 파일이 있습니다. 일례 파일 것 같은루아 패턴 일치
{\ rtf1 \ fbidis \ ANSI \ ansicpg1252 \ deff0 \ nouicompat \ deflang1033 {\ fonttbl {\ F0 \ fnil \ fcharset0> Segoe UI} {\ F1 \ fnil Segoe의 UI ;}} {\ colortbl; \ red0 \ green0 \ blue0} {* \ 발전기 Riched20 15.0.4420} {* \ mmathPr \ mwrapIndent1440} \ viewkind4 \ uc1 \ pard \ cf1 \ embo \ f0 \ fs20 크레이그. .. \ embo0 \ embo 제발 \ embo0 \ embo \ embo0 \ embo \ embo0 \ embo0 \ embo0 \ embo0 \ embo0 \ embo0 \ embo0 \ embo 클라이언트 \ embo0 \ embo>와 \ embo0 \ embo는 \ open \ embo0 \ f1 \ par {* \ lyncflags rtf = 1}}
루아 스크립팅을 사용하고 있습니다. RTF 태그를 제거하고 대화의 텍스트를 꺼내십시오. 그래서 내 함수의 결과는 다음과 같아야합니다
크레이그는 ... 이전 클라이언트 밖으로 닫으십시오 다시 열어야 I가 일치하는 정규식으로 string.gsub를 사용하려고했습니다
패턴을 만들고 빈 공간으로 바꿔 텍스트 만 남기고 작동하지 않습니다. 다음은 string.gsub에 대한 지금까지 가지고있는 코드입니다.
result = string.gsub(s, "\{\*?\\[^{}]+}|[{}]|\\\n?[A-Za-z]+\n?(?:-?\d+)?[ ]?", " ")
어떤 제안이라도 대단히 감사하겠습니다!
추가 : rtf1 \
{48 : : : 03Z ([email protected] TO)
[email protected] 17 2013년 1월 18일 @ \ fbidis \ ansi \ ansicpg1252 \ deff0 \ nouicompat \ deflang1033 {\ fonttbl {\ f0 \ fnil \ fcharset0 Segoe UI;} {\ f1 \ Seile UI;}} {\ colortbl; \ red0 \ green0 \ blue0}} {* \ generator Riched20 15.0.4420} {* \ mmathPr \ mwrapIndent1440} \ viewkind4 \ uc1 \ pard \ cf1 \ embo \ f0 \ fs20 작품 \ embo0 \ embo \ embo0 \ embo me \ embo0 \ embo \ embo0 \ embo \ embo0 \ embo \ embo0 \ embo embedding \ embo0 \ embo 사진은 \ embo0 \ f1 \ 파 {* \ lyncflags RTF = 1}}
[email protected] 2013년 1월 18일 @ 17 : 48 : (TO : [email protected]) 57Z
\ fbidis \ ansi \ ansicpg1252 \ deff0 \ nouicompat \ deflang1033 {\ font0} \ blue0;} {* \ generator Riched20 15.0.44 {* \ lyncflags rtf = 1} {embl0} \ embo0 \ embo0 \ embo0 \ f1 \ par {* \ lyncflags rtf = 1} }
[email protected] 2013년 1월 18일 17 @ : 49 : 27Z (TO : 사용자 2 @ 자본.COM)
{\ rtf1 \ fbidis \ ANSI \ ansicpg1252 \ deff0 \ nouicompat \ deflang1033 {\ fonttbl {\ F0 \ fnil \ fcharset0 Segoe UI} {\ F1 \ fnil Segoe UI;}} {\ colortbl; \ red0 \ green0 \ blue0;} {* \ 발전기 Riched20 15.0.4420} {* \ mmathPr \ mwrapIndent1440} \ viewkind4 \ uc1 \ pard \ cf1 \ embo \ f0 \ fs20 \ embo0 \ embo 해보기 \ embo0 \ 엠보 \ embo0 \ EMBO 회의. \ embo0 \ F1을의 \ 파 {* \ lyncflags RTF = 1}}
StackOverflow에 오신 것을 환영합니다! 어떤 결과를 얻었습니까? – andrewdotnich
결국 패턴 일치 솔루션으로 만족스럽지 않으면 [lpeg] (http://www.inf.puc-rio.br/~roberto/lpeg/lpeg.html) 라이브러리를 확인해보십시오. – hugomg