2016-06-21 4 views
0

я хочу, чтобы удалить номер в начале и в конце слова в одном предложении, например:Remove Номер с Regex

"123helo helo123"

, то он вернет

"helo helo"

Я пробовал этот шаблон:

/^[0-9]|[0-9]$/

но только признали их как одну строку, а не на словах. Вы можете мне помочь?

+3

Чтобы удалить все номера, просто используйте/\ d +/вместо –

+0

попробуйте объединить две части, которые вы OR'ing, с такими скобками/(^ [0-9]) | ([0-9] $)/ – Dziugas

+0

JavaScript или PHP? – Phil

ответ

2

Чтобы ответить на ваш вопрос, в том числе и где конкретно вы упоминаете "в начале и в конце слова ", это должно быть достаточно

str.replace(/\b\d+|\d+\b/g, '') 

\b является word-boundary характер. Вышеуказанное удаляет все числа непосредственно после или непосредственно перед границей слов.

+0

Новое в gerexs, что такое '' 'между делами? –

+0

Подумайте об этом как «или». – Phil

0

Попробуйте /^\d*(.*)\d*$/ и выберите группу захвата 1. Посмотрите, как использовать группы захвата. here.

+0

Используйте '\ d +' вместо '\ d *', если вы хотите исключить возможность того, что число опущено. –

+0

Это удаляет цифры в начале и конце предложения (строки), а не каждое слово. –

-1

PHP Решение:

$string = '123helo helo123'; 
$result = preg_replace('/^\d+|\d+$/', '', $string); 
echo $result; // helo helo 

Javascript решение:

var string = '123helo helo123'; 
var result = string.replace(/^\d+|\d+$/g, ''); 
console.log(result); // helo helo 

Или это RegExp для Triming каждое слово в 123hello hello123 123hello

/\b\d+|\d+\b/ 
+0

благодарю вас за помощь :), но что, если я изменил строку на 'abc 123helo helo123 abc'? Мне было так любопытно – jill182

+0

@brownie ''abc 123helo helo123 abc'.replace (/ \ b \ d + | \ d + \ b/g,' ')' вернет 'abc helo helo abc' в JavaScript. –