用于替换给定文本字符串中的 html 的正则表达式模式
Regex pattern to replace html in a given text string
我正在尝试从下面的 html 片段中提取文本。需要正则表达式模式的帮助,它将替换所有 html 标记,并且只会遗漏内容。
我尝试使用以下表达式删除 <span*>
,但没有成功。
String x = '<span style="font-size:11pt;"><span style="line-height:107%;"><span style="font-family:Calibri, sans-serif;"><strong><font color="#000000">Some normal text here...</font></strong></span></span></span>';
String y = x.replaceAll('[<span*\b>]','');
system.debug(y);
打印出来:
tyle="fot-ize:11t;" tyle="lie-height:107%;" tyle="fot-fmily:Clibri, -erif;"trogfot color="#000000"Some normal text here.../fot/trog///
所以它基本上单独替换了每个字符,而不是 <span ... >
之间的内容
需要帮助
第二行代码应该是:
String y = x.replaceAll('<span[^>]*>','');
这个语句的意思是:对于所有出现的 '<span'
后面跟着许多出现的东西 (*
) 除了 '>'
([^>]
) 后面跟着单个 '>'
,替换为空。
顺便说一下,您会错过关闭选项卡 </span>
。我告诉你这些只是为了你的信息,因为你没有要求这个。
我正在尝试从下面的 html 片段中提取文本。需要正则表达式模式的帮助,它将替换所有 html 标记,并且只会遗漏内容。
我尝试使用以下表达式删除 <span*>
,但没有成功。
String x = '<span style="font-size:11pt;"><span style="line-height:107%;"><span style="font-family:Calibri, sans-serif;"><strong><font color="#000000">Some normal text here...</font></strong></span></span></span>';
String y = x.replaceAll('[<span*\b>]','');
system.debug(y);
打印出来:
tyle="fot-ize:11t;" tyle="lie-height:107%;" tyle="fot-fmily:Clibri, -erif;"trogfot color="#000000"Some normal text here.../fot/trog///
所以它基本上单独替换了每个字符,而不是 <span ... >
需要帮助
第二行代码应该是:
String y = x.replaceAll('<span[^>]*>','');
这个语句的意思是:对于所有出现的 '<span'
后面跟着许多出现的东西 (*
) 除了 '>'
([^>]
) 后面跟着单个 '>'
,替换为空。
顺便说一下,您会错过关闭选项卡 </span>
。我告诉你这些只是为了你的信息,因为你没有要求这个。