ASP 하 이 라 이 트 는 대소 문 자 를 구분 하지 않 는 키 워드 를 표시 합 니 다.

예 를 들 어 텍스트 abcaBcabcabcaBCa,키워드 bc 는 대소 문 자 를 구분 하지 않 는 경우 모두 6 개의 일치 항목 이 있 습 니 다.웹 페이지 에 표 시 된 것 은 abcaBcabcabcaBCa 입 니 다.많은 사람들 이 replace 함수 라 고 생각 합 니 다.원형 은 Replace(string,find,replace with[,start[,count[,compare]]])string 필수 옵션,문자열 표현 식,대체 할 하위 문자열 find 필수 옵션,검 색 된 하위 문자열 replace with 필수 옵션,대체 할 하위 문자열 start 옵션,하위 문자열 의 위 치 를 검색 하기 시작 합 니 다.기본 값 은 1 count 옵션 입 니 다.하위 문자열 의 대 체 를 실행 하 는 수 입 니 다.기본 값 은-1 입 니 다.가능 한 모든 compare 옵션,비교 방식,0:바 이 너 리 비 교 를 표시 합 니 다.1:텍스트 비교 마지막 매개 변 수 는 대소 문 자 를 구분 하지 않 는 문 제 를 해결 할 수 있 지만 왜 바 꿔 야 합 니까?예 를 들 어 bc,Bc,bC,BC 가 모두 검색 되 었 지만 하나의 텍스트 로 통일 적 으로 바 꿀 수 없 기 때문에 Instr 라 는 함 수 를 이용 하여 우 리 를 도와 주세요.원본 문자열 에서 왼쪽 에서 오른쪽으로 검색 하면 일치 하 는 항목 을 찾 을 수 있 습 니 다.3 단계 로 1 을 가 고 일치 하 는 항목 의 왼쪽 문자열 을 출력 합 니 다.2.일치 하 는 항목 을 스타일에 끼 워 넣 은 후 3 을 출력 하고 두 단 계 를 반복 합 니 다.오른쪽 문자열 을 계속 검색 합 니 다.검색 끝 코드 는 다음 과 같 습 니 다
 
public function HighLight(S,F)
dim tL,tM,tR,k
tL=""
tM=""
tR=S
k=instr(1,tR,F,1)
do while k>0
tL=tL & left(tR,k-1)
tM=mid(tR,k,len(F))
tL=tL & "<span style='color:red'>" & tM & "</span>"
tR=right(tR,Len(tR)-len(F)-k+1)
k=instr(1,tR,F,1)
loop
HighLight=tL & tR
end function
호출 할 때 까지.코드 는 다음 과 같 습 니 다.몇 번 시 도 했 지만 결과 가 없다.어떤 고수 가 정규 로 이 문 제 를 해결 하 는 지 보 자.글 을 쓴 후 네티즌'우 공'은 정규 표현 식 의 해법 을 제시 했다.테스트 를 통 해 정확 하고 틀림 이 없다.지금 그의 코드 를 뒤에 붙 입 니 다.그 에 게 대단히 감사 하 다.코드

좋은 웹페이지 즐겨찾기