我需要摆脱标签。生成的text1
变量应该只等于一个单词:Test
。这是我试过的。为什么我的PERL正则表达式不起作用?
data t;
text1="<html> <head> <meta name=''generator'' content=''HTML Tidy, see www.w3.org'' />
<title></title> </head> <body> <p>Test</p> <p></p> <table style=''WIDTH:
360.0pt;BORDER-COLLAPSE: collapse;'' border=''0'' cellspacing=''0'' cellpadding=''0'' width=''480''>"
;
regex = prxparse('s/<\s+.*?>/ /');
call prxchange(regex,-1,text1);
put text1;
run;
我需要摆脱<
和>
之间的任何内容,最后是纯文本
答案 0 :(得分:1)
你已经忘记了所有变量开头的印记。它是$text1
,而不是text1
。
$text1 =~ s/<.+?>//g;
但是这仍然会留下字符串中的所有空格。我不知道那是否可以。
如果代码恰好不是Perl,那么......
答案 1 :(得分:1)
为什么你在那里有\ s +?
data t;
text1="<html> <head> <meta name=''generator'' content=''HTML Tidy, see www.w3.org'' />
<title></title> </head> <body> <p>Test</p> <p></p> <table style=''WIDTH:
360.0pt;BORDER-COLLAPSE: collapse;'' border=''0'' cellspacing=''0'' cellpadding=''0'' width=''480''>"
;
regex = prxparse('s/<.*?>/ /');
call prxchange(regex,-1,text1);
put text1;
run;
按预期工作。它不适用于很多东西,但它适用于示例案例。