Как я пишу regex в PHP для удаления специальных символов?

Попробуйте переключиться:

switch (operator) {
    case "+":
        result = num1 + num2;
        System.out.println("The addition result is " + result);
        break;
    case "-":
        result = num1 - num2;
        System.out.println("The subtraction result is " + result);
        break;
    case "-":
        result = num1 * num2;
        System.out.println("The multiplication result is " + result);
        break;
    case "/":
        result = num1 / num2;
        System.out.println("The integer division result is " + result);
        break;
    default:
        throw IllegalArgumentException("Unsupported operator: " + operator);
}
11
задан hakre 17 November 2011 в 14:18
поделиться

3 ответа

$newString = preg_replace('/[^a-z0-9]/i', '_', $join);

Это должно сработать.

38
ответ дан 3 December 2019 в 00:51
поделиться

Регулярное выражение для всего, что не является az, AZ, 0-9, это:

preg_replace('/[^a-zA-Z0-9]/', "_", $join);

Это известно как Класс отрицательных символов

10
ответ дан 3 December 2019 в 00:51
поделиться

Самый простой способ - это:

preg_replace('/\W/', '_', $join);

\ W - группа, не состоящая из слов. Символом слова являются az, AZ, 0-9 и _. \ W соответствует всему, что не было упомянуто ранее *.

Редактировать: preg использует регулярные выражения Perl, задокументированные в документе perlman perlre .

* Редактировать 2: Предполагается, что C или одна из английских локалей , Другие локали могут иметь буквы с акцентом в классе символов слова. Локали Unicode будут считать символы ниже кодовой точки 128 символами.

7
ответ дан 3 December 2019 в 00:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: