2016-06-21 6 views
-3

У меня есть сценарий, где у меня есть строка «abcDuplicate1», проверьте, содержит ли строка Duplicate word и обновляет строку с помощью «abcDuplicate2», снова проверьте строку, обновив ее до «abcDuplicate3» и т. Д. , Как мы можем использовать метод разделения для разделения выше строк после дубликатаRegex для разделения строки после определенного слова javascript

+0

Пожалуйста, ясно сообщите нам ввод и ожидаемый результат. –

+0

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/split –

+0

Это может помочь (расщепление после слова 'Duplicate' может быть трудным, поскольку JS не разрешает 0-length lookbehind): '/(.*? Duplicate) (. *) /. Exec ('abcDuplicate1')' – Sam

ответ

1

К сожалению, реализация регулярных выражений JS не позволяет для 0-length lookbehinds (или что-то вроде PCRE's \K). Это означает, что это не так просто, как расщепление после совпадения «Дубликат». Вместо этого мы можем зафиксировать как «Дубликат», так и цифры, следующие и заменить их, используя string.replace().

var string = 'abcDuplicate1', 
    regex = /(Duplicate)(\d+)/; 

string = string.replace(regex, function(match, duplicate, number) { 
    var newNumber = parseInt(number) + 1; 
    return duplicate + newNumber; 
}); 

console.log(string); // abcDuplicate2 
Смежные вопросы