Мне нужно регулярное выражение, чтобы удалить цифры из строки, но не пробелы. Я в настоящее время
$ city_location = 'UK, 0113 | Leeds new york'; $ sip_city = '0113Leeds new york'; $ city = preg_replace ('/ [^ az] / i', '', $ sip_city);
Он удаляет цифры, а также пробелы, поэтому мне нужно регулярное выражение, которое не будет удалять пробелы.
Используйте \d
если вы хотите удалить все цифры
$city = preg_replace('/\d/', '', $sip_city);
Или [^az\s]
если вы хотите заменить все, кроме алфавитов и пробелов
$city = preg_replace('/[^az\s]/i', '', $sip_city);
использование
$city = preg_replace('/[0-9]/', '', $sip_city);
в вашем коде regex engine
не соответствует чему-либо, что не соответствует алфавиту AZ
и az
. поэтому пробелы не находятся в алфавите, и они совпадают. У меня не так много опыта с регулярным выражением, но одна вещь, которую я понял, это то, что
лучше сказать движку регулярных выражений, что вам нужно, а не рассказывать, что вам не нужно