Удаление нечислового и неальфа-символы от строки?

Вам необходимо настроить окно просмотра, поскольку указанный путь не может быть виден с фактическим окном просмотра. Затем удалите дополнительное определение высоты, а также удалите !important, чтобы можно было установить background-position

select {
    padding: 15px;
    border-radius: 3px !important;
    height: 50px !important;
    color: #ffffff !important;
    padding-right: 30px !important;
    font-size: 14px !important;
    border-color: blue !important;
    position: relative;
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    border: none;
    background: blue url("data:image/svg+xml;utf8,<svg viewBox='0 0 140 140' width='24' height='24' xmlns='http://www.w3.org/2000/svg'><g><path d='m121.3,34.6c-1.6-1.6-4.2-1.6-5.8,0l-51,51.1-51.1-51.1c-1.6-1.6-4.2-1.6-5.8,0-1.6,1.6-1.6,4.2 0,5.8l53.9,53.9c0.8,0.8 1.8,1.2 2.9,1.2 1,0 2.1-0.4 2.9-1.2l53.9-53.9c1.7-1.6 1.7-4.2 0.1-5.8z' fill='white'/></g></svg>") no-repeat;
    background-position: right 5px top 50%;
}
<select>
  <option value="volvo">Volvo</option>
  <option value="saab">Saab</option>
  <option value="mercedes">Mercedes</option>
  <option value="audi">Audi</option>
</select>

7
задан Adron 9 February 2009 в 16:29
поделиться

8 ответов

в php:

$tests = array(
     'hello, world!'
    ,'this is a test'
    ,'and so is this'
    ,'another test with /slashes/ & (parenthesis)'
    ,'l3375p34k stinks'
);

function strip_non_alphanumerics( $subject )
{
    return preg_replace( '/[^a-z0-9]/i', '', $subject );
}

foreach( $tests as $test )
{
    printf( "%s\n", strip_non_alphanumerics( $test ) );
}

вывод был бы:

helloworld
thisisatest
andsoisthis
anothertestwithslashesparenthesis
l3375p34kstinks
3
ответ дан 6 December 2019 в 19:43
поделиться

Обычно лучше иметь белый список, чем черный список.

Regex имеет удобное \w это, эффективно средства, алфавитно-цифровые плюс подчеркивание (некоторые варианты также добавляют акцентируемые символы (á, é, ô, и т.д.) к списку, другие, не делает).

Можно инвертировать это при помощи \W для значения всего, это не является алфавитно-цифровым.

Так замена \W с пустой строкой удалит все 'специальные' символы.


С другой стороны, при необходимости в другом наборе символов к алфавитно-цифровому можно использовать отрицаемый класс символов: [^abc] будет соответствовать всему, что не является a или b или c, и [^a-z] будет соответствовать всему, что не находится в диапазоне a,b,c,d...x,y,z

Эквивалент \w [A-Za-z0-9_] и таким образом \W [^A-Za-z0-9_]

6
ответ дан 6 December 2019 в 19:43
поделиться

Я предпочитаю regex, потому что синтаксис более прост считать и поддержать:

# in Python
import re
re.sub("[abcdef]", "", text)

где abcdef правильно завершенные символы должны быть удалены.

С другой стороны, если Вы хотите только алфавитно-цифровые символы (плюс подчеркивание), Вы могли бы использовать:

re.sub("\W", "", text)

где \W представляет несловесный символ, т.е. [^a-zA-Z_0-9].

2
ответ дан 6 December 2019 в 19:43
поделиться

вот простой regex

[^\w]

это должно поймать все несловесные символы, которые это разрешит a-z A-Z пространство 0-9 и _, ни пространство, ни _ не было в Вашем списке, таким образом, это работает, если бы Вы хотели поймать их также затем, то я сделал бы что-то вроде этого:

/[a-z0-90/i

это - формат PHP для a-z и 0-9, я делает его нечувствительным к регистру.

1
ответ дан 6 December 2019 в 19:43
поделиться

Когда Вы просто хотите иметь алфавитно-цифровые символы, Вы могли просто выразить это при помощи инвертированного класса символов:

[^A-Za-z0-9]+

Это означает: каждый знак, который не является буквенно-цифровым.

1
ответ дан 6 December 2019 в 19:43
поделиться

В каком языке Вы идете regex?

Например, в Perl можно сделать перевод, который перевел бы любой из символов в списке ни во что:

например, Это переведет, 'b', 'c' или 'd' в''

$sentence =~ tr/abcd//;
0
ответ дан 6 December 2019 в 19:43
поделиться

Можно скорее проверить их в frontend путем получения askey значений введенного символы.

0
ответ дан 6 December 2019 в 19:43
поделиться

Нас команда "TR"?

Вы не говорите, какая среда Вы находитесь в... оболочке? C программа? Java? У каждого из тех были бы различные лучшие решения.

0
ответ дан 6 December 2019 в 19:43
поделиться
Другие вопросы по тегам:

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