2014-07-21 5 views
-1

문자열식이 포함 된 변수가 있습니다. 내가 / 후 텍스트를 찾으려면문자열에서 텍스트를 찾아 바꾸십시오.

World
World/Name
City/Name

, 그것이 존재하고 교체 :

propery_expression operator value

proeprty_expression 모습 수 :이 표현은 패턴을 가지고 사용자 정의 텍스트. 어떻게해야합니까?

답변

1

을 시도 할 수이 하나

> var cityName = 'Djakarta'; 
> var line = 'World/Name Something SomethingElse'; 
> line.replace(/\/\S+/, '/' + cityName); 
    "World/Djakarta Something SomethingElse" 

당신은 복잡한 검색을 수행하려면이 옵션을 사용할 수 있습니다 : 콘솔에서

yourString.replace(/\/\S+/, '/the new stuff...'); 

및 교체 작업. Mozilla's documentation

+0

이 정규 표현식이 잘 작동합니다. 그러나 두 개의'/'문자가 있으면 그것을 잘라냅니다. 예 : '세계/국가/도시'. 결과는'World/_new_stuff_'이고,'Country'는 잘립니다. – user348173

+0

물론입니다. 데이터 세트에 완벽하게 작동하는 정규 표현식을 원한다면 데이터 세트에 대해 정확히 알고 있어야합니다. –

1

당신은 예를 들어, 정규 표현식은이

var the_string = "City/Name"; 
var word = "New"; 
var result = the_string.substring(0, the_string.lastIndexOf('/') + 1); 
alert(result + word); 
1

에 대한 세부 사항은이 작업을 시도 할 수 있습니다 :

var str = 'World'; 
alert(rep(str)); 


function rep(str) 
{ 
    if(str.indexOf('/')>-1)//present 
    { 
     alert(str.substring(str.lastIndexOf('/') + 1,str.length)); 
     var res = str.replace(str.substring(str.lastIndexOf('/') + 1,str.length),'custom_word'); 
     return res; 
    } 
    else{ 
     alert('/not present'); 
     return str; 
    } 
} 

DEMO

참고 :/ 후 현재 텍스트 다음은 "custom_word"로 대체합니다.

1

마티아스의 대답 이외에, 당신은과 같이, 기능과 함께 정규식을 사용할 수

var myString; 
. 
. 
. 
myString.replace(/\/(\S+)/g, function (found, value) { 
    // found == "City/NewYork" 
    // value == "NewYork" 
    return found + "Altered"; 
} 

을이, 예를 들어, 변경됩니다 모든 "X/yAltered"

와 "X/Y"
관련 문제