Алгоритм разбора строк для проверки числовых и буквенных символов - PullRequest
0 голосов
/ 18 января 2012

Я работаю над проектом, в котором мне нужно проанализировать выбранную строку и проверить, имеет ли строка числовое значение и буквенное значение.Пожалуйста, дайте мне решение, если у вас есть идеи.

1 Ответ

0 голосов
/ 18 января 2012

Это true() точно, когда строка $s может использоваться как число :

number($s) = number($s)

Это true() точно, когда строка $s состоит только из латинских символов :

string-length(translate($s, $alpha, '')) = 0

где $ alpha - строка, содержащая все строчные и прописные буквы.

Это верно, если строка $s содержит хотя бы одну букву или цифру :

not(string-length(translate($s, $alphaNum, '')) = string-length($s))

где $ alphaNum - строка, содержащая все строчные и прописные буквы и все цифры.

В XPath 2.0 (XSLT 2.0) можно использовать регулярные выражения и классы символов .

Обновление : Из комментариев ОП видно, что он на самом деле хочет проверить, содержит ли строка буквы или цифр.

Вторым новым требованием является сохранение в переменной некоторой части строки в каждом случае. Тем не менее, это требование не определено вообще, а лишь в двух противоречивых примерах, приведенных в комментариях ФП.

...