2012-01-18 3 views
-1

선택한 문자열을 구문 분석하고 문자열에 숫자 값과 영문자 값이 있는지 확인해야하는 프로젝트에서 작업하고 있습니다. 의견이 있으시면 저에게 해결책을 제공해주십시오.숫자 및 알파벳 문자에 대한 유효성을 검사하는 문자열 분석 알고리즘

+0

정규 표현식을 사용할 수 있습니다. – weston

+0

분명히 논리에 문제가 있기 때문에 작은 XML 문서와 변환의 정확한 결과를 제공하십시오. 문자열에 영문자 *와 * 숫자가 포함되어 있는지 테스트해야한다고 말하면서 주석에서 ' 100-12 '에 대한 표현식이 'true()'로 평가되어야한다고 말하면 숫자와 숫자 만 포함됩니다. 편지가 없습니다. –

답변

0

이는 문자열 $s이 숫자로 사용할 수 있습니다 정확히 true()입니다 :

number($s) = number($s) 

이것은 $s 문자열이 라틴 문자 구성되어 정확히 true()입니다 :

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

여기서 $ alpha는 모두 소문자와 대문자를 포함하는 문자열입니다.

문자열 $s 적어도 하나 개의 문자 나 숫자 포함 된 경우이 사실입니다 :

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

경우 $ alphaNumis 모두 소문자와 대문자 및 숫자를 모두 포함 된 문자열.

XPath 2.0 (XSLT 2.0)에서는 정규 표현식 및 문자 클래스을 사용할 수 있습니다.

업데이트 : 그는 실제로 문자열이 문자 또는 숫자가 포함 된 경우 테스트하고자하는 영업의 발언에서 보인다.

두 번째 새로운 요구 사항은 각 경우에 문자열의 일부를 변수에 저장하는 것입니다. 그러나이 요구 사항은 전혀 정의되지 않았으며 OP의 의견에 제공된 두 가지 모순 된 예에서만 나타납니다.

+0

이 값 변수는 문자와 숫자를 모두 포함 할 수 있습니다 (예 : 값에 "Cust12"가 있음). Variable에 숫자와 문자가 모두 있는지 확인하는 방법을 알려주시겠습니까? – Hari

+0

@ 하리 : $ Var가 문자와 숫자로만 구성되거나 * 문자와 숫자로 구성되지만 * 다른 문자 유형을 포함 할 수도 있는지 확인 하시겠습니까? –

+0

적어도 하나의 문자와 숫자가 포함되어 있는지 확인해야합니다. – Hari

관련 문제