如何在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“,”分开也用在其他地方!,您必须跳过它!
答案 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);