文本替换

在帆软中,怎么用正则表达式替换文本中的符合表达式的内容。例如我要替换0.85×500×6000×40件,0.85×1000×9999×50件 中的 ×40件 和 ×50件 为空字符串,改怎么实现

FineReport 资深Java开发探索报表 发布于 2024-11-22 17:23
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
杨朝健Lv5中级互助
发布于2024-11-22 17:55

split('0.85×1000×9999×50件','×\\d+件')

最佳回答
0
ChazzenLv2初级互助
发布于2024-11-22 18:22

LEFT("0.85×500×6000×40件" , LEN("0.85×500×6000×40件")-LEN(  INDEXOFARRAY(REVERSEARRAY(split("0.85×500×6000×40件","×")),1 ))-1)

image.png

  • 资深Java开发探索报表 资深Java开发探索报表(提问者) 这只是一个数据的例子,能不能用通配符的做法给统一处理
    2024-11-22 18:55 
  • Chazzen Chazzen 回复 资深Java开发探索报表(提问者) 你说的通配符是什么,如果都是 ‘’ב’这个符号加后面的“XXX”(40件) 这种文本,那就没问题
    2024-11-22 19:02 
  • Chazzen Chazzen 回复 资深Java开发探索报表(提问者) REVERSEARRAY(split("0.85×500×6000×40件","×") 就是为了将你的字符串按照字符“×”分割数组,分割成[0.85,500,6000,40件] INDEXOFARRAY(数组,1)是取这个数组里倒叙第一个字符串,也就是 “40件”,然后剩下的就是left(你的字符串,你的字符串长度-“40件”的长度-1),里面的再减一是为了减掉 “40件”前面的 “×” ,这个left就是获取了你的字符串“×40件”之前的字符串。
    2024-11-22 19:06 
  • 3关注人数
  • 117浏览人数
  • 最后回答于:2024-11-22 18:22
    请选择关闭问题的原因
    确定 取消
    返回顶部