이 페이지는 iFrame 용이므로 사용하면 오류가 발생될 수 있슴.
B
문자열 검색과 문자열 대체 예제
중요 항목 : match, replace, global, ignoreCase, RegularExpression, 정규식 구문

중요 항목 : match, replace
stringVar=match 메서드가 반환하는 배열은 input, index 및 lastIndex의 세가지 속성을 가진다.
regexp=index
stringVar.match(regexp)=index
stringVar.replace(regexp,"인덱스")=
match 메서드가 반환하는 배열은 input, 인덱스 및 lastIndex의 세가지 속성을 가진다.
<SCRIPT>
var br='<BR>'; // 줄바꿈
var str=''; // 출력 문자열 변수 선언
var regexp='index'; // 정규식 패턴 대신 리터럴로
var stringVar='match 메서드가 반환하는 배열은 input, index 및 lastIndex의 세가지 속성을 가진다.'; // 변수를 선언하고 할당
str+='stringVar='+stringVar+br; // 문자열 출력
str+='regexp='+regexp+br; // 정규식 패턴 출력
str+='stringVar.match(regexp)='+stringVar.match(regexp)+br; // 문자열의 일치 여부 확인
str+='stringVar.replace(regexp,"인덱스")=<BR>'; // 제목줄 출력
str+=stringVar.replace(regexp,'인덱스')+br; // index(대소문자 구별)를 인덱스로 대체
document.write(str); // 결과 문자열 출력
</SCRIPT>

중요 항목 : match, replace, global(g), ignoreCase(i), 정규식 구문
stringVar=match 메서드가 반환하는 배열은 input, index 및 lastIndex의 세가지 속성을 가진다.
regexp=/IndEX/gi
stringVar.match(regexp)=index,Index
stringVar.replace(regexp,"INDEX")=
match 메서드가 반환하는 배열은 input, INDEX 및 lastINDEX의 세가지 속성을 가진다.
<SCRIPT>
var br='<BR>'; // 줄바꿈
var str=''; // 출력 문자열 변수 선언
var regexp=/IndEX/ig; // 정규식 패턴, i=대소문자 구별 없이(영어), g=전역 검사
var stringVar='match 메서드가 반환하는 배열은 input, index 및 lastIndex의 세가지 속성을 가진다.'; // 변수를 선언하고 할당
str+='stringVar='+stringVar+br; // 문자열 출력
str+='regexp='+regexp+br; // 정규식 패턴 출력
str+='stringVar.match(regexp)='+stringVar.match(regexp)+br; // 문자열의 일치 여부 확인
str+='stringVar.replace(regexp,"INDEX")=<BR>'; // 제목줄 출력
str+=stringVar.replace(regexp,'INDEX')+br; // index를 대소 문자 구별없이 모두 대문자로 교체
document.write(str); // 결과 문자열 출력
</SCRIPT>

중요 항목 : match, replace, global(g), 정규식 구문
stringVar=match 메서드가 반환하는 배열은 input, index 및 lastIndex의 세가지 속성을 가진다.
regexp=/INDEX/g
stringVar.match(regexp)=null
<SCRIPT>
var br='<BR>'; // 줄바꿈
var str=''; // 출력 문자열 변수 선언
var regexp==/INDEX/g; // 정규식 패턴, 9 모든 패턴에 대한 전역 검사
var stringVar='match 메서드가 반환하는 배열은 input, index 및 lastIndex의 세가지 속성을 가진다.';
str+='stringVar='+stringVar+br; // 문자열 출력
str+='regexp='+rregexp+br; // 정규식 패턴 출력
str+='stringVar.match(regexp)='+stringVar.match(regexp)+br; // 문자열이 포함하는 모든 일치를 출력, 여기서는 없으므로 null
document.write(str); // 결과 문자열 출력
</SCRIPT>

중요 항목 : match, global(g), RegularExpression, 정규식 구문
stringVar=match 메서드가 반환하는 배열은 input, index 및 lastIndex의 세가지 속성을 가진다.
regexp=/(\S+)(\s+)(\S+)/g

stringVar.replace(regexp,"$3$2$1")=
메서드가 match 배열은 반환하는 index input, lastIndex의 및 속성을 세가지 가진다.

stringVar.replace(regexp,"<FONT color=red>$3</FONT><SPAN style=background:ff0>$2</SPAN><FONT color=blue>$1</FONT>")=
메서드가 match 배열은 반환하는 index input, lastIndex의 속성을 세가지 가진다.

변환 부분 문자열 $3$2$1(replaceText)가 각각의 일치하는 부분 문자열에 대해 다음의 m+3개 인수로 기능함수를 호출한다.
여기서 mregexp(/(\S+)(\s+)(\S+)/g)의 왼쪽 괄호의 갯수이다.

  1. 첫째 인수는 일치하는 부분 문자열이다. 다음 m개의 인수는 모든 검색 결과이다.
  2. 인수 m+2stringObj에서 일치하는 위치의 오프셋이고
  3. 인수 m+3stringObj이다.
결과 값은 각각의 일치하는 부분 문자열을 기능함수 호출의 결과 값으로 대체한 결과의 문자열 값이다.

replace 메서드는 패턴을 가지고 부분식을 바꿀 수 있다. 예제는 문자열에서 각 쌍의 단어를 맞바꾼다.

제일 아래 두 칸은 윗 두칸과 같은데 구별을 위하여 색상을 넣어 보았다. 1번 단어(청색)은 3번위치에 가고 3번단어(적색)은 1번 위치로 바뀌었으며 그 사이 2번은 빈칸(노랑 ' ')의 위치는 그대로이다. 마지막 '가진다.'는 짝이 안맞아 그대로이다.

<SCRIPT>
var br='<BR>'; // 줄바꿈
var str='', regexp; // 변수를 선언
var stringVar='match 메서드가 반환하는 배열은 input, index 및 lastIndex의 세가지 속성을 가진다.'; // 문자열 할당
regexp=/(\S+)(\s+)(\S+)/g; // 정규식 패턴 작성
str+='stringVar='+stringVar+br; // 문자열 출력
str+='regexp='+regexp+br+br;

str+='stringVar.replace(regexp,"$3$2$1")='+br;
str+=stringVar.replace(regexp,'$3$2$1')+br+br;

 // 이하는 위 두줄을 색상넣기하였다. 소스보기는 작은 글자로
str+='stringVar.replace(regexp,"<FONT size=1>&lt;FONT color=red&gt;$3&lt;/FONT&gt;';
str+='&lt;SPAN style=background:ff0&gt;$2&lt;/SPAN&gt;';
str+='&lt;FONT color=blue&gt;$1&lt;/FONT&gt;</FONT>")='+br;
str+=stringVar.replace(regexp,'<FONT color=red>$3</FONT>
  // 길이 관계로 줄바꿈하였으나 밑줄친 부분은 붙여 넣어야 함.
  <SPAN style=background:ff0>$2</SPAN><FONT color=blue>$1</FONT>')+br;

document.write(str); // 결과 문자열 출력
</SCRIPT>

중요 항목 : replace, global(g), RegularExpression, Function, 정규식 구문
string=물은 0C에서 얼고 100C에서 끓는다.
regexp=/(\d+(\.\d*)?)C\b/g

string.replace(regexp,function($0,$1,$2){ return ((($1* 9/5+32))+ "F");})=
물은 32F에서 얼고 212F에서 끓는다.
<SCRIPT>
var br='<BR>'; // 줄바꿈
var str=''; // 출력 문자열 변수 선언
var string='물은 0C에서 얼고 100C에서 끓는다.'; // 문자열을 가지고 기능함수호출
var regexp=/(\d+(\.\d*)?)C\b/g; // 정규식 패턴
str+='string='+string+br; // 문자열 출력
str+='regexp='+regexp+br+br; // 정규식 출력

str+='string.replace(regexp,function($0,$1,$2){ return ((($1* 9/5+32))+ "F");})='+br; // 계산및 대체 기능 표시
str+=string.replace(regexp,function($0,$1,$2){ return ((($1* 9/5+32))+ 'F');}); // 결과 출력

document.write(str); // 결과 문자열 출력
</SCRIPT>
method
문자열 검색과 문자열 대체 예제
이전페이지로페이지 맨위로
최종 수정:
07/02/2025 23:49:48
KoXo Homepage
All right reserved
비정상적인 방식으로 프레임없이 페이지에 접속하면 자주 오류가 발생됩니다.
오류가 나면 정상적 접속으로 시도해 보세요.
http://koxo.com/lang/js/method/exp/xmatchreplace.html