Я ужасен в регулярном выражении. Пожалуйста, пожалейте и протяните мне руку. Я пытаюсь разбить строку на первое вхождение And
(с учетом регистра), в массив с длиной 2. Я понятия не имел, чтобы начать, так может кто-нибудь мне помочь?Regex: split string, основанный на первом вхождении, с возникновением
var strArr = "Thing And other thing".split(/magic regex/);
expect(strArr).to.deep.equal(["Thing","And other thing"]);
var strArr = "Thing and other thing".split(/magic regex/);
expect(strArr).to.deep.equal(["Thing and other thing", ""]);
var strArr = "One Thing And other thing And yet another thing".split(/magic regex/);
expect(strArr).to.deep.equal(["One Thing","And other thing And yet another thing"]);
var strArr = "yep, just one thing".split(/magic regex/);
expect(strArr).to.deep.equal(["yep, just one thing", ""]);
UPDATE это работает именно так, как мне нужно, чтобы он, но его все некрасиво:
parser = function(str) {
var spl;
spl = str.split(/\s(?=And)/);
if (spl.length > 1) {
spl = [spl.shift(), spl.join(" ")];
} else {
spl = [str, ''];
}
return spl;
};
Вы попробовали просто 'string.split ('And')'? – adeneo
Чтобы просто проверить наличие строки в строке, вы можете использовать indexOf – adeneo
Да. Он не выполняет все модульные тесты. – Fresheyeball