2012-03-07 2 views
0

나는 선택한 텍스트의 값을 가진 문자열을 가지고 있습니다. Id는 주어진 텍스트 div에서이 텍스트의 replace()를하고 싶습니다.문자열을 사용하는 정규식 검색

은 그래서 나는 내가 할 수있는 알고 다음과 : 그래서 시도

myelement.replace(/*mystring*/g, 'bar');

:

myelement.replace(/foo/g, 'bar');

그러나 내가 즉, 내 캐릭터와 함께 할 필요가

mystring = '/'+mystring+'/g'; 
myelement.replace(mystring, 'bar'); 

어느 작품이 작동하지 않으므로 시도 (이 난 작동하지 않을 줄 알았습니다) :

myelement.replace(/+mystring+/g, 'bar');

그래서 내가 이것을 어떻게 할 수

?

나는 jsfiddle에서 너희들을 위해 뭔가를 코딩 한 ->HELP ME PLEASE!

+0

regSt = new RegExp(st,'g'); 

대한 추가 정보를 원하시면 교체 끈이 아니야. 요소의 내용을 바꾸려면'.html()'과'.text()'메쏘드를보십시오 : http://api.jquery.com/ –

+0

'새로운 RegExp()' – elclanrs

+0

@Felix Kling님께 감사드립니다. 나는이 질문에 (지금 ammended) 입력이보고 싶었어. jsfiddle 예에서 정확했습니다. – Alex

답변

2

http://jsfiddle.net/2rG2V/

변화는 new RegExp(st, "g")를 사용하는 것 대신에 당신이 전에했던 것처럼 문자열을 생성. /test/g은 RegExp 객체를 만드는 바로 가기입니다.

+0

대답 해 주셔서 감사합니다, 나는 [다른 대답]을 확인합니다. http://stackoverflow.com/questions/494035/how-do-you-pass-a-variable-to-a-regular-expression -Javascript @Felix Kling이 나에게 경고했다. 내가 할 수있을 때 나는 당신의 대답을 받아 들일 것입니다. 펠릭스에게도 큰 감사를드립니다. – Alex

+0

그래, 나는이 대답을 쓸 때 Felix가 속는 사람을 지적했음을 알지 못했다. – Chris

0
eval('myelement.replace(/' + mystring + '/g, "bar");'); 
+0

어! 'eval()'? 이건 금단의 사과 같지 않아? – elclanrs