Javascript удаляет начальную числовую метку из строки

#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 Метод не изменяет строку, по которой вы его вызываете, вам нужно что-то сделать с результатом, иначе код ничего не выполнит.