Регулярні вирази. Як видалити із рядка?

308

Від автора: вітаю вас, друзі. Найчастіше регулярні вирази використовуються для того, щоб перевірити рядок на відповідність певним форматом. Однак непоодинокі випадки, коли нам необхідно видалити щось із рядка. Наприклад, ми хочемо видалити з рядка всі символи, крім цифр. Або, навпаки, хочемо видалити всі цифри. Загалом, варіантів може бути маса і в цій статті ми розглянемо, як за допомогою регулярних виразів видалити з рядка непотрібні символи. Приступимо?

Отже, перед нами стоїть просте завдання: видалити з рядка всі, що не є символами. У регулярних виразах мови PHP для цього передбачена функція preg_replace(). Функція має три обов’язкових параметра: шаблон регулярного виразу; рядок або масив рядків для заміни; рядок або масив рядків, в яких необхідно провести заміну.

Всього пару рядків коду і найпростіший шаблон регулярного виразу, щоб видалити зайве:

$str = ‘string 111 !!! 222’;
echo preg_replace(“#[^\d]#”, “”, $str);

Регулярні вирази. Як видалити із рядка?

Якщо ж нам потрібно зробити навпаки і видалити цифри, тоді досить трохи змінити шаблон:

Регулярні вирази. Як видалити із рядка?

Точно так само ми можемо видаляти або замінювати будь-які символи або групи символів. Наприклад, досить поширена практична завдання — видалити зайві пробіли, тобто якщо між словами стоїть більше одного пробілу, тоді ми видаляємо їх, залишаючи, як і належить, один. Цю задачу також вирішити вкрай просто:

Регулярні вирази. Як видалити із рядка?

Шаблон регулярного виразу шукає два і більше пробільних символів (замість метасимвола \s, який включає в себе групу пробільних символів, ви завжди можете надрукувати просто пробіл) і замінює їх на один пробіл, який надрукований в поле Replace.

Як бачимо, завдання видалення і заміни чого-небудь в рядку з допомогою регулярних виразів вирішується дуже просто. Ну а на цьому у мене все. Більше про регулярних виразах ви можете дізнатися з нашого курсу з регулярними виразами. Удачі!