我有以下格式的字符串。我试图在Java脚本中创建一个函数来删除某些字符。

样本字符串:

Var s = '18160 ~ SCC-Hard Drive ~ 4 ~ d | 18170 ~ SCC-SSD ~ 4 ~ de | 18180 ~ SCC-Monitor ~ 5 ~ | 18190 ~ SCC-Keyboard ~ null ~'


预期结果:

s = 'SCC-Hard Drive ~ 4 ~ d | SCC-SSD ~ 4 ~ de | SCC-Monitor ~ 5 ~ |SCC-Keyboard ~ null ~'


如果您在ID上方注意到,例如18160、18170、18180和18190被删除。这仅是示例。结构如下:

id: 18160
description : SCC-Hard Drive
Type: 4
comment: d


因此,在有多个项目的情况下,它们会使用派克(Pike)分度计进行级联。所以我的要求是从上述结构的给定字符串中删除ID。

最佳答案

也许使用string.replace()方法。

s.replace(/\d{5}\s~\s/g, "")




\d{5} - matches 5 digits (the id)
\s    - matches a single space character
~     - matches the ~ literally


输出:

"SCC-Hard Drive ~ 4 ~ d | SCC-SSD ~ 4 ~ de | SCC-Monitor ~ 5 ~ | SCC-Keyboard ~ null ~"


另外,请注意Var无效。它应该是var

09-29 20:14