gpt4 book ai didi

regex - 用正则表达式替换字符串末尾的%?

转载 作者:行者123 更新时间:2023-12-02 18:30:40 25 4
gpt4 key购买 nike

我想删除某些文本末尾的"%"。我想使用正则表达式来完成此操作,因为 ABAP 不容易处理字符串末尾的文本。

DATA lv_vtext TYPE c LENGTH 10 VALUE 'TEST %'.
REPLACE REGEX ' %$' IN lv_vtext WITH ''.

但它并不能取代任何东西。当我省略 "$" 时,文本将按预期删除,但我担心它可能会发现比想要的更多的出现次数。

我尝试使用 \z\Z 而不是 $,但无济于事。

最佳答案

这个答案是关于没有 REGEX 的替代方法。 POSIX正则表达式相当慢,而且有些人不愿意使用它,所以如果你没有完全关闭在正常的ABAP中这样做:

lv_vtext = COND #( WHEN contains( val = lv_vtext end = ` %` ) 
THEN substring( val = lv_vtext len = strlen( lv_vtext ) - 2 )
ELSE lv_vtext ).

带有上下文的代码:

DATA(lv_vtext) = `test %`.
lv_vtext = COND #( WHEN contains( val = lv_vtext end = ` %` )
THEN substring( val = lv_vtext len = strlen( lv_vtext ) - 2 )
ELSE lv_vtext ).
ASSERT lv_vtext = `test`.

关于regex - 用正则表达式替换字符串末尾的%?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69461933/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com