Javascript의 Replace로 바꾼 문자열을 동적으로 바꾸려고 합니다
10438 단어 replaceJavaScript동태
(전혀 몰라서 유식한 사람에게 가르침을 청하는 심정으로 기사를 썼다.)
Javascript의 Replace로 바꾼 문자열을 동적으로 바꾸려고 합니다
하고 싶은 일은]+javascript에서 정규 표현식으로 '바꾸기' 를 할 수 있는 텍스트 편집기를 만드는 것입니다.
이 화면에서 나는 단지'줄 바꾸기 ¥n'을'tag ¥t'로 바꿀 뿐이다.
첫 번째 텍스트 상자에 '대상' 을 바꾸는 문자열로 정규 표현식을 허용하는 문자열을 입력하십시오
두 번째 텍스트 상자에 정규 표현식을 허용하는 문자열을 '뒤' 문자열로 입력하십시오
바꾸기 버튼을 누르면 바뀝니다.
r_f = document.getElementById('rp_frm').value;
r_t = document.getElementById('rp_to').value;
tx = tx.replace(new RegExp(r_f,"g"), r_t );
에서 바꿀 문자열을 동적으로 변경하려면replace(A, B)에서는 A에 RegExp(hogehoge, "g")만 넣으면 된다는 것을 알았다.
그러나 정규 표현식을 포함하는 문자열을 B에 어떻게 동적으로 입력하는지 모르겠다.
'아'와'아'를
”、
우리
. 변환 전 "에서"- 변환 후 "\n"
. 변환 전 에서 - 변환 후\t
그러면 그냥'아!n거야''아!t거야'이런 글로 바꿔요.
당연히 소스를 넣어야죠.
.replace(“い”,“¥n”)
그럼 다른 줄로.
변수
.replace(변수 1, 변수 2)
줄바꿈
그렇지만
변수 2 = 화면에 입력한 변환 후 문자열(예: ¥n)
.replace(변수 1, 변수 2)
하지만 다른 줄을 만들지 않으면
↑이곳은 내가 모르는 곳이다..
겸사겸사 말씀드리겠습니다.
r_t = r_t.replace("\\" + "n","\u000d\u000a");
r_t = r_t.replace("\\" + "t","\u0009");
어떤 것은 상당히 억지스럽다.행 분리 "¥n"및 레이블 "¥t"만 인식되도록 변환합니다.
이 "replace(A, B)"의 B부분은 어떻게 하면 좋을까요
아는 사람이 오면 알려주세요.
※ 이 소스는 이 소스로 라벨과 줄 바꿈에만 한정되면 사용할 수 있습니다.
■ 두 번째(다음 버전 알려주세요)
r_t = JSON.parse( "\"" + document.getElementById('rp_to').value + "\"");
제가 알고 싶은 건요."Replace(A, B)에서 정규 표현식이 포함된 문자열을 B 방향으로 동적으로 추가하는 방법"
이렇게 말하는 것보다
"Replace(A, B)에서 B의 한 쪽은 HTML의 한 쪽에서 전해오는 문자열을 도피 문자를 포함하여 적절하게 처리하려고 한다."(JSON.parse는 문자 처리가 적절하다고 판단합니다.)
많이 배웠어요.감사합니다.
다음은 수정된 원본 파일입니다
tikan.html
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8" />
<title>置換</title>
<style type="text/css">
body {
background-color: #eeeeee;
color: #000000;
margin: 2;
padding: 2;
font-family: "MS ゴシック",sans-serif;
}
textarea {
width: 800px;
height: 150px;
border: 2px solid #ffcc77;
font-family: "MS ゴシック",sans-serif;
}
</style>
<script type="text/javascript">
function tikan(){
tx = document.getElementById('ss1').value;
var r_f;
var r_t;
r_f = document.getElementById('rp_frm').value;
//r_t = document.getElementById('rp_to').value;
r_t = JSON.parse( "\"" + document.getElementById('rp_to').value + "\"");
//r_t = r_t.replace("\\" + "n","\u000d\u000a");
//r_t = r_t.replace("\\" + "t","\u0009");
tx = tx.replace(new RegExp(r_f,"g"), r_t );
document.getElementById('ss2').value = tx;
}
function tereko(){
var p1;
var p2;
p1 = document.getElementById('rp_frm').value;
p2 = document.getElementById('rp_to').value;
document.getElementById('rp_frm').value = p2;
document.getElementById('rp_to').value = p1;
}
</script>
</head>
<body >
<form name="test">
<input type="text" id="rp_frm" value="\n">
<input type="button" value="⇔" onClick="tereko()">
<br/>
<input type="text" id="rp_to" value="\t"><br/>
<br/><br/><input type="button" value="置換" onClick="tikan()">
</form>
<br/>
<textarea id="ss1" >
あいうえお
かきくけこ
さしすせそ
</textarea><br/>
<textarea id="ss2">
</textarea><br/>
</body>
</html>
Reference
이 문제에 관하여(Javascript의 Replace로 바꾼 문자열을 동적으로 바꾸려고 합니다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/santarou6/items/39dbea3bef7fbefc3a13텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)