DIH处理包含回车符换行符html标签内容的文本
2024-08-27 19:35:23
数据样例:2010-03-19 10:18:06130010543234203guqun09-12月-12liuyin18-6月 -14<P style="MARGIN-TOP: 0px; TEXT-JUSTIFY: inter-ideograph; FONT-SIZE: 12pt; MARGIN-BOTTOM: 0px; TEXT-INDENT: 2em; LINE-HEIGHT: 1.5; FONT-FAMILY: 宋体; TEXT-ALIGN: justify">天翼分享是基于中国电信CDMA网络,为天翼客户提供视频、音频等多媒体信息分享服务的移动互联网产品。多媒体信息可以是客户自己录制的视频、拍摄的照片、制作的动漫或MTV等,也可以是中国电信提供的优质多媒体信息内容。
第一种方法:
使用ScriptTransformer处理回车符、换行符。
数据源:
<dataSource name="jdbc" driver="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@127.0.0.1:1521:ORCLLI" user="kms_user" password="kms_user" />
ScriptTransformer脚本模块:
<script>
<![CDATA[
function regex(row) {
var content = row.get('CONTENT');
var regex = "\\t|\r|\n"
var p = java.util.regex.Pattern.compile(regex);
var m = p.matcher(content)
row.put('CONTENT', m.replaceAll(""));
return row;
}
]]>
</script>
document:
<entity name="tm_details" query="select t.docid as id,t.tempid,t.cruser as userid,t.crtime,t.content from TM_DETAILS t where t.type=2 and t.docid=10479"
transformer="ClobTransformer,HTMLStripTransformer,script:regex,DateFormatTransformer">
<field column="ID" name="id" />
<field column="TEMPID" name="tempid" />
<entity name="template" query="select te.name from kmstemplate te where te.id=${tm_details.TEMPID}">
<field column="NAME" name="template"/>
</entity>
<entity name="user" query="select msg.name from tb_sys_loginmsg msg where msg.login_id='${tm_details.USERID}'" >
<field column="NAME" name="cruser"/>
</entity>
<field column="CRTIME" name="crtime" dateTimeFormat="yyyy-MM-dd HH:mm:ss"/>
<entity name="doc" query="select rtrim(d.doctitle,'.htm') as title from kmsdocument d where d.docid=${tm_details.ID}">
<field column="TITLE" name="title" clob="true"/>
</entity>
<field column="CONTENT" name="content" clob="true" stripHTML="true"/>
</entity>
</document>
第二种方法:采用RegexTransformer:
document:
<entity name="tm_details" query="select t.docid as id,t.tempid,t.cruser as userid,t.crtime,t.content from TM_DETAILS t where t.type=2 and t.docid=10479"
transformer="ClobTransformer,HTMLStripTransformer,RegexTransformer,DateFormatTransformer">
<field column="ID" name="id" />
<field column="TEMPID" name="tempid" />
<entity name="template" query="select te.name from kmstemplate te where te.id=${tm_details.TEMPID}">
<field column="NAME" name="template"/>
</entity>
<entity name="user" query="select msg.name from tb_sys_loginmsg msg where msg.login_id='${tm_details.USERID}'" >
<field column="NAME" name="cruser"/>
</entity>
<field column="CRTIME" name="crtime" dateTimeFormat="yyyy-MM-dd HH:mm:ss"/>
<entity name="doc" query="select rtrim(d.doctitle,'.htm') as title from kmsdocument d where d.docid=${tm_details.ID}">
<field column="TITLE" name="title" clob="true"/>
</entity>
<field column="CONTENT" name="content" clob="true" stripHTML="true" regex="\\t|\r|\n" replaceWith=""/>
</entity>
</document>
最新文章
- 【codeforces 442B】 Andrey and Problem
- Win10 无法完全关机问题
- UNIX命令,统计当前目录(含子目录)下所有后缀为.log的文件中ERROR出现的行数
- RTX闪退(打开闪退,收发文件闪退)
- C# Window Form解决播放amr格式音乐问题
- ASP.NET备份还原数据库
- C# DEBUG 调试信息打印及输出详解
- CCLablettf读取显示xml文件内容显示中文
- Image Builder, 快速固件生成器
- 正则表达式:网页爬虫:从TXT中获取邮箱地址(获取的练习,缺点:一行只能匹配一个)
- 【django基础】
- [Swift]LeetCode401. 二进制手表 | Binary Watch
- 等价路由在路由器和CE交换机上默认的行为是不同的,路由器总是走第一个下一跳,CE交换机是逐包。
- 分布式系统监视zabbix讲解六之自定义监控项--技术流ken
- DButils实现数据库表下划线转bean中驼峰格式
- internet连接共享
- JQuery EasyUI 1.5.1 美化主题大包
- 如何解决VMware 虚拟机不能铺满屏幕
- Spark2.x学习笔记:Spark SQL的SQL
- VMware虚拟机安装Mac OS X