我有一个以下格式的字符串。我试图在Java Script中创建一个函数来删除某些字符。
示例字符串:
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'S例如18160,则删除了18170,18180和18190。这只是一个例子。结构如下:
id: 18160
description : SCC-Hard Drive
Type: 4
comment: d
因此,在有多个项目的情况下,使用Pike分隔符连接它们。所以我的要求是从上面结构中的给定字符串中删除id。
答案 0 :(得分:3)
也许使用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
。
答案 1 :(得分:1)
我将使用以下正则表达式的替换函数,因为ID字段中的位数可能会有所不同。
s.replace(/(^|\|\s)\d+\s~\s/g, '$1')