【发布时间】:2016-01-19 11:11:26
【问题描述】:
我正在使用 BIRT 设计基于数据库的报表,并且表单的其中一个字段包含多行,如下所示:
网站:放置 ThePlace
房间:D2 RMD3
InstanceId:OI-RandomChars
事实上,它们并不总是按此顺序排列,因为它是用户输入(以另一种形式,而不是 BIRT 提示符)。 请注意,这些字段包含大写字母。
所以我想做的是在三个单独的列中提取,因此在 JavaScript 中使用三个正则表达式分别是 Site、Room 和 InstanceId。 我已经尝试了很多事情,比如捕捉每一行直到行尾或在各种条件下播放子字符串......到目前为止,我认为最好的办法是使用字符串函数替换来删除任何与我想要的不同的东西抓住。 行 Room 的一个示例是:
row["Log"].replace(/?![Room:\s\S*\s]/, "")
我收到一个错误,但你可以看到我尝试做什么。
感谢您对我的问题的所有考虑。
【问题讨论】:
-
你可以
row["Log"].split("\n")然后测试看看哪个数组项有 Room/Site/等。
标签: javascript regex birt