好的,我在这个问题上花了好几个小时。我有一些javascript需要在一定数量的字符之后在一个单词之前分割一个字符串。到目前为止,我已经提出了一个解决方案,但这种行为很奇怪 看看这个例子:
[self.scrollView addSubview:parentView];
self.scrollView.frame = CGRectMake(0, 0, 320, [UIScreen mainScreen].bounds.size.height);
[self.scrollView setContentSize:CGSizeMake(320, parentView.frame.size.height)];

var text1 = "Apple MacBook 12” Retina 2016 Spacegray (MLH82N/A)";
var text2 = "Apple MacBook 12” Retina 2016 Spacegray (MLH82N/A)";
var regex1 = /.{24}\S*(\s|-)+/gi;
var regex2 = new RegExp(".{24}\S*(\s|-)+",'gi');
//var res1 = text1.replace(regex1, "$&@").split('@').join("\n").replace("\n", "<br>");
//var res2 = text2.replace(regex2, "$&@").split('@').join("\n").replace("\n", "<br>");
var res1 = text1.replace(regex1, "$&@");
var res2 = text2.replace(regex2, "$&@");
console.log(res1);
console.log(res2);
给出了想要的结果,但正则表达式中的数字24必须是变量,这使得无法使用regex1
,因为它不支持变量。
如果有人能指出我正确的方向。我会永远感激的!
修改:标记为duplicate我已阅读过,但问题是“确切地说”&#39;正则表达式不会输出相同的结果。 RexExp对象很奇怪。
作为我的总菜鸟,我忘了逃避RegExp对象中的反斜杠 当我在角落里哭泣时,看看这个工作代码......
regex1
&#13;