을 유지 나는이 같은 문자열을 분할하기 위해 노력하고있어. 나는 변수 이름이 무엇인지 미리 알지 못한다. 그래서 나는 "대체"를 사용하는 것을 피하려고했다.분할 문자열과 deliminter
답변
실제로 (모든 데이터를 포함) 일부 미리 정의 된 개체의 재산 다룰 때 오히려 사소한 여분의 일을해야 하나 개 이상의 변수가있는 경우
var str = "abcde${variable}zzz"
var key = str.match(/\$\{.*\}/g);
var listOfelements = str.split(key[0]);
. 예 :
템플릿 기능의 작동 방식은 다소 차이가 있습니다. 전역 변수를 사용하여 동일한 트릭을 수행 할 수 있습니다 (글로벌 오브젝트를 통해 액세스 할 수 있음). 예를 들면 :
// on the global level
var foo = 'FOOFOO';
var bar = 'BARBAR';
...
tpl.replace(/\$\{([^}]+)}/g, function(match, gr) {
return gr in window ? window[gr] : match;
})
그것은 지역 주민과 함께 할도 가능하지만, 당신이 여기 eval
를 사용해야합니다 :
(function(){
var foo = 'FOOFOO';
var bar = 'BARBAR';
var tplFoo = "abcde${foo}fgh${foo}z";
var tplBar = "abcde${bar}fghz";
var tplBaz = "abcde${baz}fghz";
[tplFoo, tplBar, tplBaz].forEach(function(tpl) {
console.log(
tpl.replace(/\$\{([^}]+)}/g, function(match, gr) {
'use strict';
try {
var v = eval(gr);
return v;
}
catch(_) {
return match;
}
})
);
});
})();
...하는이 간단한 경우, 매우 발생할 수 있습니다 ... 불필요한 결과.
이와 비슷한? 당신은 당신이
var config = {
'foo': 'abc'
};
var str = 'foo: ${foo} bar: ${bar}';
var matches = str.match(/(\$\{\w+\})/g);
if(matches !== null) {
for(var i=0,l=matches.length;i<l;i++) {
var token = matches[i];
var tvar = token.substr(2,token.length-3);
if(tvar in config) {
str = str.replace(token,config[tvar]);
}
else {
str = str.replace(token,'null');
}
}
}
console.log(str);
왜'match '로 문자열을 처리해야합니까? 결국'replace'를 할 때 궁금합니다. 콜백 매개 변수를 'replace'함수에 제공하여 단일 접근 방식으로 모든 작업을 수행 할 수 있습니다. – raina77ow
교체를하기 전에 결과로 일을 할 수 있도록 분명히했습니다. 분명히이 방법은 비교 적으로 원시적입니다. –
이 정보가 필요하십니까?
var x = "abcde${variable}zzz";
alert(x.replace(/{.*}/, 'new_word'));
또는 당신이 인덱스를 수행하려는 경우 나 SO 자체에서 답을 찾을 .. 여기가 link
- 1. 분할 문자열과 후반
- 2. SQL 서버 분할 문자열과
- 3. 분할 문자열과 bash는
- 4. 분할 문자열과 배열
- 5. SOLR 분할 문자열과 지금
- 6. 분할 문자열과 선택 대문자 문자열
- 7. 감바, 문자로 분할 문자열과 배열
- 8. 들어있는 분할 문자열과 비교 - LINQ
- 9. 분할 문자로 문자열과 내가이 코드가 C#을
- 10. Arduino - 분할 문자열과 다른 문자열 비교
- 11. T-SQL, 분할 열의 문자열과 테이블
- 12. 분할 문자열과 나는 HTML 페이지를 읽어 안드로이드
- 13. 파이썬 - 분할 개별 바이트에 문자열과 여기에 다시 함께
- 14. C로 분할 된 문자열과 각 필드를 따로 취하십시오
- 15. 문자열과 \
- 16. 분할
- 17. 분할 문자열
- 18. 문자열과 포인터
- 19. 문자열과 값
- 20. 문자열과 비교했습니다.
- 21. 긴 문자열과
- 22. 파이썬 내가 CSV 문자열과 같이이
- 23. 탈출 문자열과 오른쪽 내가 다음 코드는 한
- 24. 분할 위로 텍스트
- 25. 분할 메서드로 문자열 분할
- 26. 분할 막대가없는 창 분할
- 27. 분할 및 병합 분할
- 28. 파이썬 : 분할 및 분할
- 29. 자바 다중 분할 - 구분
- 30. 분할하고 PHP에서 동적 문자열과 숫자를 제거하는 방법
입니다 그리고 내가 요청할 수'replace'를 사용하여 피할 수있는 점은 무엇인가? – raina77ow
@Raina, 먼저 문자열에 지정된 변수가 실제로 먼저 있는지 확인하고 싶습니다. 이 문자열은 구성 파일에서옵니다. – user994165