2012-01-18 3 views
-1

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

+0

Возможно использование регулярных выражений. – weston

+0

Поскольку у вас, очевидно, проблемы с логикой, пожалуйста, предоставьте небольшой XML-документ и точный ожидаемый результат преобразования. Вы говорите, что вам нужно проверить, содержит ли строка алфавитные символы * и * цифры, но в комментариях вы говорите, что выражение должно оцениваться как 'true()' для ' 100-12 ' - которое содержит только цифры и не содержит букв. –

ответ

0

Это 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)) 

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

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

Update: Кажется, из комментариев Op, что он на самом деле хочет, чтобы проверить, если строка содержит буквы или цифр.

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

+0

Эта переменная Value может содержать как буквы, так и цифры, например Value имеет значение «Cust12». можете ли вы просто сказать мне, как проверить, имеет ли Variable оба числа и буквы. – Hari

+0

@Hari: Вы хотите проверить, что $ Var состоит только из * букв и цифр или что он * содержит * буквы и цифры, но может также содержать другие типы символов? –

+0

Необходимо проверить, содержит ли оно по крайней мере одну букву и номер – Hari

 Смежные вопросы

  • Нет связанных вопросов^_^