2010-12-16 6 views

답변

12

right(string, numberofcharacters) 기능을 사용할 수 있습니다.

예 (CFScript의) :

existingString = "The Quick brown Fox jumps"; 
tailString = "umps"; 
stringMatch = false; 
if (right(existingString, len(tailString)) eq tailString){ 
    stringMatch = true; 
} 
+0

감사를 TRUE 반환해야합니다! 이것은 좋은 해결책처럼 보입니다 ... 저는 찾고자하는 부분 문자열이 알파벳 문자 두 개를 조합 한 것이기 때문에 저는 제 생각을 고수 할 것입니다. 그러나 여러분의 응답에 감사드립니다! – froadie

+1

@froadie 문자열은 항상 두 자의 알파 문자 조합이 될 것입니다. 더 명확하고 안전하며 더 나은 솔루션이있을 때 잠재적 인 버그를 남겨 두는 이유는 무엇입니까? 안돼. – jfrobishow

2

내가 (http://tutorial130.easycfm.com/) 발견 솔루션 - 문자열의 끝을 나타내는 $ 기호, REFindNoCase - 를 사용하여 정규 표현식 찾기.

REFindNoCase("end$", "check if this string ends with end") 
+1

이 함수는 리터럴 문자 만 비교하려는 경우에 적합합니다. 검색 문자열에 정규식에 의미가있는 특수 문자가 포함되어 있으면 문제가 발생합니다. 같이.? $ + *. 먼저 그들을 벗어나야합니다 –

+4

정규식을 사용할 필요가 없습니다. @ Andreas Schuldhaus의 해결책이 더 좋으며 왜 정규 표현식이 두통을 일으키는 지 설명했습니다. 재치있는 문제 : "어떤 사람들은 문제에 직면했을 때"나는 정규 표현식을 사용할 것 "이라고 생각한다. 이제 그들은 두 가지 문제를 안고있다." http://www.codinghorror.com/blog/2008/06/regular-expressions-now-you-have-two-problems.html – orangepips

+1

나는 개인적으로 정규 표현식을 좋아하지만, 이것이 과잉 공격의 예이다. 위에 나열된 left() 메서드가 더 효율적입니다. –

관련 문제