我如何在子字符串REGEX中找到一个值

2020-09-21 23:33发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


HI,

我正在尝试在子字符串中找到一个字符。 例如,我有一个|。 分隔文件并要删除所有| 值在""之间。

| 2017-03-29 |" DEC | 用户X" | Y | 2017-03-29 |" DEC |用户Z" | Y |

我正在尝试查找| 在子字符串|" DEC | 用户X" |中 以及出现的任何其他情况。

谢谢

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


HI,

我正在尝试在子字符串中找到一个字符。 例如,我有一个|。 分隔文件并要删除所有| 值在""之间。

| 2017-03-29 |" DEC | 用户X" | Y | 2017-03-29 |" DEC |用户Z" | Y |

我正在尝试查找| 在子字符串|" DEC | 用户X" |中 以及出现的任何其他情况。

谢谢

付费偷看设置
发送
4条回答
callcenter油条
1楼 · 2020-09-21 23:53.采纳回答

阅读文档并使用DEMO_REGEX。

https: //help.sap.com/http.svc/rc/abapdocu_751_index_htm/7.51/zh-CN/index.htm?file=abenregex_syntax_specials.htm

| 是一个特殊字符,必须由\进行转义。

黑丝骑士
2楼-- · 2020-09-22 00:10

可能最好在专门的Regex论坛上询问此问题。 正则表达式功能强大,但有时很难使用。 我不希望ABAP开发人员精通它。

半个程序猿
3楼-- · 2020-09-22 00:14

我对这个问题感到惊讶:您不想保留| 在" ..."字段中,然后删除实际|

如果我是对的,我想您应该首先在第一个正则表达式中拆分字段:([|] |" [[^"] +" | [^ |] +),其中 会产生3种类型的元素,即分隔符(|)," ..."字段和其他字段。然后删除分隔符,然后循环访问所有" ..."字段以删除引号(因此, 保留可选的|(如果有的话)。

nice_wp
4楼-- · 2020-09-22 00:14
实际上,您似乎不想找到|字符,
 但仅解析2个双引号中的内容,其中\字符为
 转义字符。

 ...正则表达式
   '"'"双引号
 &'[^" \\] *'" 0个字符或不超过"或\的任何字符的列表
 &'(?:'"非捕获组的开始
 &'\\。'  " \后跟任何字符
 &'[^" \\] *'"列出不超过"或\的任何字符
 &')'"组末尾
 &'*'"可选组或重复该组1次或更多次
 

一周热门 更多>