使用Javascript从字符串中删除字符

时间:2013-03-22 17:22:08

标签: javascript

我有一个以下格式的字符串。我试图在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。

2 个答案:

答案 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')