문자열 아래처럼이 있다고 가정하자 : 나는 모두 <a>
및 <c>
을 제거 할가 R에 GSUB를 사용하여 한 쌍의 괄호 안에 아무것도 제거
<a>b<c>
, 그러나 이것은 b
을 제거하므로 나는 gsub("<.*>","","<a>b<c>")
을 사용할 수 없습니다 또한.
나는 이전에 비슷한 질문을했지만 두 번째 생각에 나는 이런 종류의 문제를 다루는 방법을 일반적으로 배워야한다고 생각한다. 감사.
문자열 아래처럼이 있다고 가정하자 : 나는 모두 <a>
및 <c>
을 제거 할가 R에 GSUB를 사용하여 한 쌍의 괄호 안에 아무것도 제거
<a>b<c>
, 그러나 이것은 b
을 제거하므로 나는 gsub("<.*>","","<a>b<c>")
을 사용할 수 없습니다 또한.
나는 이전에 비슷한 질문을했지만 두 번째 생각에 나는 이런 종류의 문제를 다루는 방법을 일반적으로 배워야한다고 생각한다. 감사.
는 괄호 안에 물건에 닫는 대괄호 >
을 허용하지 마십시오 시끄러운 설정에서
z <- "<a>b<c>"
gsub("<[^>]+>","",z)
욕심이없는 정규식을 사용할 수 있습니다 (예 : /<.*?>/
.
이것은 단순한 HTML에서만 작동하며 쉽게 전복 될 수 있습니다. 정규식을 사용하여 쉽게 제거 할 수없는 다음 HTML을 고려하십시오.
<span title="Help > Index">
당신은 놓친 '을?' 정규식에서. –
한 번 더 생각이 종종 매우 유용 (즉,이 토크 나이를 만들기 위해 가까이 올 때) :
strsplit("<a>b<c>",split='<|>')[[1]][3]
더 일반적인 해결 방법은 파서를 사용하는 것입니다. 이스케이프 된 심볼이 없는지, 모든 심볼이 일치하는지, 중첩이 발생하지 않는지, 그리고 다른 많은 경고가 있는지를 확신 할 수 없다면, 파서를 사용하는 것이 가장 좋습니다. 그래서 정규 표현식과 HTML에 관한 아주 유명한 질문이 있습니다. HTML을 언급하지는 않았지만 HTML 및 XML과 같은 마크 업 언어의 방향으로 나아갈 수있는 것처럼 보입니다. – Iterator