2013-03-06 3 views
1

을 나는이 작동하도록했는데 확신 해요,하지만 난 그것이 내가 그것을 원하는 일을 얻을 수 없습니다 : 내가 가진다면문자열에 N 번째 선두로부터 교체 - 자바 스크립트

new_str = old_str.replace(3, "a"); 
// replace index 3 (4th character) with the letter "a" 

abcdef 다음 위의 반환해야 abcaef 그러나 나는 틀린 무엇인가 알아 들었을 텐데. 문자를 변경하지만 예상 한 문자는 변경하지 않습니다.

네이티브 JS 또는 jQuery 솔루션이 좋습니다. 무엇이든지간에 (이 페이지에서 jQuery를 사용하고 있습니다).

나는 검색을 시도했지만 모든 자습서에서는 Regex 등의 이야기를하고 인덱스를 바꾸지는 않습니다.

답변

2

당신은 배열 스타일의 교체를 원하므로 문자열을 배열로 변환 할 나타납니다, 여기

// Split string into an array 
var str = "abcdef".split(""); 

// Replace char at index 
str[3] = "a"; 

// Output new string 
console.log(str.join("")); 
1

이 다른 세 methods-

VAR old_str = "ABCDEF"입니다

//1. 
new_str1= old_str.substring(0, 3)+'a'+old_str.substring(4), 

//2. 
new_str2= old_str.replace(/^(.{3}).(.*)$/, '$1a$2'), 

//3. 
new_str3= old_str.split(''); 
new_str3.splice(3, 1, 'a'); 

// 반환 값

new_str1+'\n'+new_str2+'\n'+ new_str3.join(''); 

abcaef 
abcaef 
abcaef 
관련 문제