1

我有一个以下格式的字符串。我试图在 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,例如 18160、18170、18180 和 18190 已被删除。这只是一个例子。结构如下:

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

因此,如果有多个项目,它们会使用 Pike 分隔符连接起来。所以我的要求是从上述结构中的给定字符串中删除 id。

4

2 回答 2

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

于 2013-03-22T17:25:24.870 回答
1

我将使用以下正则表达式的替换功能,因为 ID 字段中的位数可能会有所不同。

s.replace(/(^|\|\s)\d+\s~\s/g, '$1')
于 2013-03-22T17:41:12.053 回答