我有一个脚本,它获取用户上传的 RTF 文档并将一些个人数据合并到信中(姓名、地址等),并为多人执行此操作。我合并信函内容,然后将其与下一个合并信函内容合并,用于所有人员记录。
有效地,我将单个 RTF 文档组合到自身中,以便我需要将字母合并到的人数记录。但是,我需要首先删除每个合并的关闭 RTF 标记和打开 RTF 标记,否则 RTF 将无法正确呈现。这听起来像是正则表达式的工作。
本质上,我需要一个将删除整个字符串的正则表达式:
}\n\page 任何东西 \par
例如,这个正则表达式将匹配这个:
crap
}
\page{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fswiss\fcharset0 Arial;}}
{\*\generator Msftedit 5.41.15.1515;}\viewkind4\uc1\pard\f0\fs20 September 30, 2008\par
more crap
所以我可以做到:
crap
\page
more crap
RegEx 是这里最好的方法吗?
更新:为什么我必须使用 RTF?
我想让用户上传一个套用信函,然后系统将使用该套用信函来创建合并的信函。由于 RTF 是纯文本,我可以很容易地在代码中做到这一点。我知道,RTF 是规范的灾难,但我不知道还有其他好的选择。