#javascript
#javascript
Вопрос:
Мне нужно удалить подчеркивания из начала строки (но только начало),
Например:
__Hello World
Должно быть преобразовано в :
Hello World
Но Hello_World
должно остаться как Hello_World
.
Сложность в том, что я не знаю, как могут быть подчеркивания, которых может быть 1,2 или 20.
Комментарии:
1. Что пробовали до сих пор?. Вы можете сделать это несколькими способами, вот с помощью
while
циклаlet str = "__Hello World" while(str[0] === '_') str = str.slice(1)
2. Вы что-нибудь пробовали? Это может быть достигнуто несколькими способами, включая использование цикла или регулярного выражения.
Ответ №1:
Вы можете передать регулярное выражение в replace()
. /^_ /,
говорит найти любое число _
после в начале строки:
let texts = ["__Hello World", "Hello_World", 'jello world_', '_Hello_World_', '___________Hello World']
let fixed = texts.map(t => t.replace(/^_ /, ''))
console.log(fixed)
Ответ №2:
Регулярное выражение вполне подходит для этой задачи:
let str = "__h_e_l_l_o__"
console.log(str.replace(/^_*/, ""));
Ответ №3:
Метод 01:
var str = '__Hello World';
str = str.replace(/^_*/, "");
Метод 02:
var str = '__Hello World';
while(str.startsWith('_')){
str = str.replace('_','');
}
console.log(str);
// Hello World