如何从字符串中删除文本?

Pak*_*pus 5 javascript string null substring match

我有一个变量持有单行字符串,这是像这样的html元素.

var des = "<p> --Sometext before-- FI: This is fi name, This is fi manufacturer <br /> SE:This is se name, This is se manufacturer <br /> EN: This is en name, This is en manufacturer</p>";
Run Code Online (Sandbox Code Playgroud)

我想在FI之后选择所有内容:直到逗号签到一个变量并在逗号后签名,直到
标记为另一个变量.也适用于SE:和EN:也是.

例如,结果将是这样的.

    var fi_name         = "This is fi name";
    var fi_manufacturer = "This is fi manufacturer";
    var se_name         = "This is se name";
    var se_manufacturer = "This is se manufacturer";
    var en_name         = "This is en name";
    var en_manufacturer = "This is en manufacturer";
Run Code Online (Sandbox Code Playgroud)

请注意,字符串会动态更改但仍具有相同的模式.

例如:

<p> --Sometext before-- FI:[name],[manufacturer]<br/ >SE:[name],[manufacturer]<br/ >FI:[name],[manufacturer]</p>
Run Code Online (Sandbox Code Playgroud)

您可以在JsFiddle中查看演示.

现在它抛出了null错误.

编辑vvv

它不适用于实时网站.des变量完全如下所示.请参阅http://jsfiddle.net/AM8X2/它再次抛出null.

116*_*684 1

我将你的 jsFiddle 更改为:

\n\n

http://jsfiddle.net/11684/raPDd/4/

\n\n

我在正则表达式中添加了大写字母、空格和逗号,因此它不会返回 null(因为找不到匹配项),其余的都很好。
\n结果:

\n\n
var fi,se,en;\nvar des = "<p>FI: This is fi name, This is fi manufacturer <br /> SE:This is se name, This is se manufacturer <br /> EN: This is en name, This is en manufacturer</p>";\n\nvar match = des.match(/<p>FI:([a-zA-Z ,]+)<br \\/> SE:([a-zA-Z ,]+)<br \\/> EN:([a-zA-Z ,]+)<\\/p>/);\nfi = match[1];\nse = match[2];\nen = match[3];\n\nalert("[FI]: " + fi + "\\n[SE]:" + se + "\\n[EN]:" + en);\xe2\x80\x8b\n
Run Code Online (Sandbox Code Playgroud)\n\n

编辑:
\n我没有看到您需要在单独的变量中提供名称和制造商,我将小提琴: http: //jsfiddle.net/11684/raPDd/5/编辑为:

\n\n
var fi,se,en;\nvar des = "<p>FI: This is fi name, This is fi manufacturer <br /> SE:This is se name, This is se manufacturer <br /> EN: This is en name, This is en manufacturer</p>";\n\nvar match = des.match(/<p>FI:([a-zA-Z ,]+)<br \\/> SE:([a-zA-Z ,]+)<br \\/> EN:([a-zA-Z ,]+)<\\/p>/);\nfi = match[1];\nse = match[2];\nen = match[3];\n\n//After that just split on the comma:\n\nvar fi_name = fi.split(",")[0];\nvar fi_manu = fi.split(",")[1];\nvar en_name = en.split(",")[0];\nvar en_manu = en.split(",")[1];\nvar se_name = se.split(",")[0];\nvar se_manu = se.split(",")[1];\n\xe2\x80\x8b\n
Run Code Online (Sandbox Code Playgroud)\n