如何在javascript中将文本拆分

时间:2018-12-04 05:53:00

标签: javascript split

如何在javascript中拆分文本:我有

  

水果果泥(mangue 25%,香蕉*),水果果脯(pomme *,西番莲果* 18%,橙色),100%的农业农作物生物素。

我想把这个分为: text[0]= Ingrédients Purée de fruits (mangue 25%, banane*) text[1]= purs jus de fruits (pomme*, fruits de la passion* 18%, orange) text[2]= 100% des ingrédients agricoles issus de l'agriculture biologique

所以它用“,” but“,”分开也用在其他地方!,您必须跳过它!

3 个答案:

答案 0 :(得分:1)

您可以将),替换为保留特殊字符的),然后split()

var str = "Ingrédients Purée de fruits (mangue 25%, banane*), purs jus de fruits (pomme*, fruits de la passion* 18%, orange), 100% des ingrédients agricoles issus de l'agriculture biologique.";
var text = str.replace(/\),/g, ')&').split('&').map(x=>x.trim());
console.log(text);

答案 1 :(得分:0)

一种选择是改为使用.match,并在(非逗号,非括号字符)和(括号\(后跟非{)字符,然后是( ))。这样,如果逗号在括号的 之外,逗号只会导致数组结果中的新项:

const str = `Ingrédients Purée de fruits (mangue 25%, banane*), purs jus de fruits (pomme*, fruits de la passion* 18%, orange), 100% des ingrédients agricoles issus de l'agriculture biologique.`;

console.log(
  str.match(/(?:[^,(]+|\([^)]+\))+/g)
);

要额外修剪前导空格:

const str = `Ingrédients Purée de fruits (mangue 25%, banane*), purs jus de fruits (pomme*, fruits de la passion* 18%, orange), 100% des ingrédients agricoles issus de l'agriculture biologique.`;

console.log(
  str.match(/(?:[^ ,(][^,(]+|\([^)]+\))+/g)
);

答案 2 :(得分:0)

好吧,除非您有特定的拆分数组的方法。否则无法完成

现在,我看到可以在“(”)上拆分字符串,如果它不在“()”内部

这是该代码

var str = "Ingrédients Purée de fruits (mangue 25%, banane*), purs jus de fruits (pomme*, fruits de la passion* 18%, orange), 100% des ingrédients agricoles issus de l'agriculture biologique.";
var regex = /,(?![^(]*\)) /;
var splitString = str.split(regex);
console.log(splitString);