#javascript #regex
#javascript #регулярное выражение
Вопрос:
У меня есть несколько строк, которые выглядят следующим образом:
1. Некоторые вещи 2. еще кое-что ... 26. Еще больше материала
Какой хороший способ удалить начальные числовые метки в этих строках в javascript?
(Каждая строка является отдельной строкой в отдельной переменной)
Спасибо!
Комментарии:
1.
str.replace(/d ./g,'')
являются ли каждая строка отдельной строкой?
Ответ №1:
str = str.replace(/^d .s*/, '');
Комментарии:
1. Если вы используете переменную
str
в выражении, то она уже существует, поэтому не объявляйте ее снова.2. @Guffa Я думаю, что у меня изначально была одна из строк OP, но она вызвала горизонтальную полосу прокрутки блока кода, поэтому я удалил ее и забыл о LHS.
Ответ №2:
var s = "26. Even more stuff";
s.replace(/^[0-9] /g, '')
Комментарии:
1. Этот фрагмент кода подходит для меня. я использовал ее, поскольку моя строка «15501268622080 обновлена Details.docx » и это выдает мне вывод типа «Обновлено Details.docx «. большое тебе спасибо @gary
2. Это единственное, что хорошо сработало в моем случае, удалив начальные числа и оставив остальные нетронутыми!
Ответ №3:
"123. some text".match(/^[0-9] .s (.*)$/)[1] // "some text"
Ответ №4:
Вы можете использовать регулярное выражение, которое соответствует началу строки, любому количеству цифр, точке и пробелу после нее:
s = s.replace(/^d .s /, '');
Это оставит строку неизменной, если она будет выглядеть по-другому.
Комментарии:
1. Если вы действительно хотите соответствовать исключительно периоду, вам нужно его экранировать.
2. @alex: Я избежал этого, но я ввел слишком мало пробелов перед кодом, чтобы сделать его блоком кода.
Ответ №5:
Только эта строка:
s = "26. Even more stuff";
s = s.replace(/^[^.] ./, "")
ВЫВОД
Even more stuff
Комментарии:
1.
replace
Метод не изменяет строку, по которой вы его вызываете, вам нужно что-то сделать с результатом, иначе код ничего не выполнит.2. @Guffa: Согласен, я не имел в виду предоставлять полный JS-код. Просто хотел предоставить фрагмент кода regex.
Ответ №6:
str = «2. еще кое-что»;
str = str.replace(/[0-9] .s /, «»);
Комментарии:
1.
replace
Метод не изменяет строку, по которой вы его вызываете, вам нужно что-то сделать с результатом, иначе код ничего не выполнит.