solr DIH:RegExTransformer
solr DIH: RegExTransformer
目前,我需要对以下第三列应用转换:
ACAC | 0 | 01
ACAC | 0 | 0101
ACAC | 0 | 0102
ACAC | 0 | 010201
我需要将 "010201"
转换为 "01/02/01"
。
首先我需要:
- trim 所有结尾
0
个字符
- 拆分每 2 个数字并添加
"/"
个字符。
此转换的上下文在 solr data import handler transformers 内部,但它在内部使用 java 正则表达式库。
有办法得到吗?
我试过使用这个正则表达式:
目前,我需要对以下第三列应用转换:
ACAC | 0 | 01
ACAC | 0 | 0101
ACAC | 0 | 0102
ACAC | 0 | 010201
我需要将 "010201"
转换为 "01/02/01"
。
首先我需要:
- trim 所有结尾
0
个字符
- 拆分每 2 个数字并添加
"/"
个字符。
此转换的上下文在 solr data import handler transformers 内部,但它在内部使用 java 正则表达式库。
有办法得到吗?
(\d[1-9]{1})
它代表我:
01/04/01/
并且需要:
01/04/01
替换表达式为:
$&/
有什么想法吗?
您可以使用
\d{2}(?=(?:\d{2})+$)
替换为[=12=]/
,见regex demo.
详情
\d{2}
- 两位数
(?=(?:\d{2})+$)
- 确保在字符串末尾出现一个或多个两位数的正向前瞻。
替换中的[=15=]
代表整场比赛
在RegExTransformer
代码中,使用
<field column="colname" regex="\d{2}(?=(?:\d{2})+$)" replaceWith="[=11=]/" />
目前,我需要对以下第三列应用转换:
ACAC | 0 | 01
ACAC | 0 | 0101
ACAC | 0 | 0102
ACAC | 0 | 010201
我需要将 "010201"
转换为 "01/02/01"
。
首先我需要:
- trim 所有结尾
0
个字符 - 拆分每 2 个数字并添加
"/"
个字符。
此转换的上下文在 solr data import handler transformers 内部,但它在内部使用 java 正则表达式库。
有办法得到吗?
我试过使用这个正则表达式:
目前,我需要对以下第三列应用转换:
ACAC | 0 | 01
ACAC | 0 | 0101
ACAC | 0 | 0102
ACAC | 0 | 010201
我需要将 "010201"
转换为 "01/02/01"
。
首先我需要:
- trim 所有结尾
0
个字符 - 拆分每 2 个数字并添加
"/"
个字符。
此转换的上下文在 solr data import handler transformers 内部,但它在内部使用 java 正则表达式库。
有办法得到吗?
(\d[1-9]{1})
它代表我:
01/04/01/
并且需要:
01/04/01
替换表达式为:
$&/
有什么想法吗?
您可以使用
\d{2}(?=(?:\d{2})+$)
替换为[=12=]/
,见regex demo.
详情
\d{2}
- 两位数(?=(?:\d{2})+$)
- 确保在字符串末尾出现一个或多个两位数的正向前瞻。
替换中的[=15=]
代表整场比赛
在RegExTransformer
代码中,使用
<field column="colname" regex="\d{2}(?=(?:\d{2})+$)" replaceWith="[=11=]/" />