首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何替换单词

如何替换单词
EN

Stack Overflow用户
提问于 2022-07-13 05:53:29
回答 2查看 32关注 0票数 0

我正在尝试替换字符串中的单词。我有一个字符串示例。例如。

  1. DMG租金FTR *至空白
  2. DMG租金FTR = 1;空白
  3. DMG租金FTR = 1.45;空白

转换前:

代码语言:javascript
运行
复制
ADJ BASE RATE = ROUND(( BASE RATE * COV CHG FTR * IL LESS DED FTR * DMG RENT FTR *  MED EXP ILF * MISC CRDT FTR * AMEND LL EXCL FCTR),3)
BASE RATE = 43.487; COV CHG FTR = 1; IL LESS DED FTR = 2.44; DMG RENT FTR = 1; MED EXP ILF = 1; MISC CRDT FTR = 1; AMEND LL EXCL FCTR = 1
CUSTOME  RATE = ROUND(( BASE RATE * COV CHG FTR * IL LESS DED FTR * DMG RENT FTR *  MED EXP ILF * MISC CRDT FTR * AMEND LL EXCL FCTR),3)
CUSTOME RATE = 43.487; COV CHG FTR = 1; IL LESS DED FTR = 2.44; DMG RENT FTR = 1.45; MED EXP ILF = 1; MISC CRDT FTR = 1; AMEND LL EXCL FCTR = 1

当我试图替换使用regular_replace和替换函数,通过只取代"DMG租金FTR“这个词。

我想买点这样的东西。

转换后:

代码语言:javascript
运行
复制
ADJ BASE RATE = ROUND(( BASE RATE * COV CHG FTR * IL LESS DED FTR *   MED EXP ILF * MISC CRDT FTR * AMEND LL EXCL FCTR),3)
BASE RATE = 43.487; COV CHG FTR = 1; IL LESS DED FTR = 2.44;  MED EXP ILF = 1; MISC CRDT FTR = 1; AMEND LL EXCL FCTR = 1
CUSTOME  RATE = ROUND(( BASE RATE * COV CHG FTR * IL LESS DED FTR *   MED EXP ILF * MISC CRDT FTR * AMEND LL EXCL FCTR),3)
CUSTOME RATE = 43.487; COV CHG FTR = 1; IL LESS DED FTR = 2.44;  MED EXP ILF = 1; MISC CRDT FTR = 1; AMEND LL EXCL FCTR = 1
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-07-13 06:16:11

Nest REPLACEs是一个简单的选项:

样本数据:

代码语言:javascript
运行
复制
SQL> WITH
  2     test (col)
  3     AS
  4        (SELECT 'ADJ BASE RATE = ROUND(( BASE RATE * COV CHG FTR * IL LESS DED FTR * DMG RENT FTR *  MED EXP ILF * MISC CRDT FTR * AMEND LL EXCL FCTR),3)
  5  BASE RATE = 43.487; COV CHG FTR = 1; IL LESS DED FTR = 2.44; DMG RENT FTR = 1; MED EXP ILF = 1; MISC CRDT FTR = 1; AMEND LL EXCL FCTR = 1
  6  CUSTOME  RATE = ROUND(( BASE RATE * COV CHG FTR * IL LESS DED FTR * DMG RENT FTR *  MED EXP ILF * MISC CRDT FTR * AMEND LL EXCL FCTR),3)
  7  CUSTOME RATE = 43.487; COV CHG FTR = 1; IL LESS DED FTR = 2.44; DMG RENT FTR = 1.45; MED EXP ILF = 1; MISC CRDT FTR = 1; AMEND LL EXCL FCTR = 1'
  8           FROM DUAL)

查询:

代码语言:javascript
运行
复制
  9  SELECT REPLACE ( REPLACE (REPLACE (col, 'DMG RENT FTR *'      , ''),
 10                                          'DMG RENT FTR = 1;'   , ''),
 11                                          'DMG RENT FTR = 1.45;', '') result
 12    FROM test;

RESULT
--------------------------------------------------------------------------------
ADJ BASE RATE = ROUND(( BASE RATE * COV CHG FTR * IL LESS DED FTR *   MED EXP IL
F * MISC CRDT FTR * AMEND LL EXCL FCTR),3)
BASE RATE = 43.487; COV CHG FTR = 1; IL LESS DED FTR = 2.44;  MED EXP ILF = 1; M
ISC CRDT FTR = 1; AMEND LL EXCL FCTR = 1
CUSTOME  RATE = ROUND(( BASE RATE * COV CHG FTR * IL LESS DED FTR *   MED EXP IL
F * MISC CRDT FTR * AMEND LL EXCL FCTR),3)
CUSTOME RATE = 43.487; COV CHG FTR = 1; IL LESS DED FTR = 2.44;  MED EXP ILF = 1
; MISC CRDT FTR = 1; AMEND LL EXCL FCTR = 1


SQL>
票数 1
EN

Stack Overflow用户

发布于 2022-07-13 06:29:05

你想要替换'DMG租金FTR‘加上所有的字符,直到你遇到一个字母(在你的例子中的MED M)。换句话说:删除“DMG租金FTR”加上以下所有非字母。这就是:

代码语言:javascript
运行
复制
REGEXP_REPLACE(str, 'DMG RENT FTR[^A-Z]*')
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72961522

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档