Регулярное выражение санирует (PHP)

То, что вы ищете, это random.choices - Новое в Python версии 3.6 . - определение функции ниже; и вы можете прочитать больше здесь .

random.choices(population, weights=None, *, cum_weights=None, k=1)

Вы можете назначить weights для того, чтобы дать определенному элементу приоритет над другими. - Хотя я полагаю, что приведенный ниже пример удовлетворит ваши потребности.

Пример

import random

random.choices([1, 2, 3, 4], k=4)

Альтернативно в старых версиях Python вы можете использовать random.choice, как показано ниже; хотя он просто поддерживает один аргумент, последовательность.

Пример

import random

population = [1, 2, 3, 4, 5]

def choices(population, k=1):
    return [random.choice(population) for _ in range(k)] if k > 1 else random.choice(population)

choices(population, k=5)

Выход

[2, 4, 2, 5, 1]

19
задан Aubin 25 July 2017 в 18:00
поделиться

3 ответа

function slug($z){
    $z = strtolower($z);
    $z = preg_replace('/[^a-z0-9 -]+/', '', $z);
    $z = str_replace(' ', '-', $z);
    return trim($z, '-');
}
42
ответ дан 30 November 2019 в 02:48
поделиться

Следующее заменит пробелы тире.

$str = str_replace(' ', '-', $str);

Затем следующее утверждение удалит все кроме алфавитно-цифровых символов и подчеркнутый штриховой линией. (не имел пробелов, потому что на предыдущем шаге мы заменили их тире.

// Char representation     0 -  9   A-   Z   a-   z  -    
$str = preg_replace('/[^\x30-\x39\x41-\x5A\x61-\x7A\x2D]/', '', $str);

, Который эквивалентен

$str = preg_replace('/[^0-9A-Za-z-]+/', '', $str);

к вашему сведению: Для удаления всех специальных символов из строкового использования

$str = preg_replace('/[^\x20-\x7E]/', '', $str); 

, \x20 является шестнадцатеричным для пространства, которое является запуском символа Acsii, и \x7E является тильдой. Так же соответственно к Википедии https://Коды печатаемых символов en.wikipedia.org/wiki/ASCII

20hex к 7Ehex, известный как печатаемые символы, представляют буквы, цифры, знаки пунктуации и несколько разных символов. Всего существует 95 печатаемых символов.

-1
ответ дан 30 November 2019 в 02:48
поделиться

Сначала удалите ненужные символы

$new_string = preg_replace("/[^a-zA-Z0-9\s]/", "", $string);

Затем замените пробелы на незавершенные

$url = preg_replace('/\s/', '-', $new_string);

Наконец закодируйте его готовым к использованию

$new_url = urlencode($url);
4
ответ дан 30 November 2019 в 02:48
поделиться
Другие вопросы по тегам:

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