주어진 문자열에서 '_'(밑줄)의 마지막 항목을 쉽게 대체 할 수 있습니까?문자열의 마지막 문자 교체
답변
jQuery는 필요하지 않습니다. 정규 표현식입니다.
var str = 'a_b_c';
str = str.replace(/_([^_]*)$/,'$1'); //a_bc
이 변수 replacement
의 내용으로 대체합니다 :
이
마지막 밑줄을 제거합니다var str = 'a_b_c', replacement = '!';
str = str.replace(/_([^_]*)$/,replacement+'$1'); //a_b!c
+1 Hurtigkarl :))) – mplungjan
@Martin Jespersen : 대체 할 텍스트가 밑줄이 아니고 replaceMe라는 변수의 내용이면 어떻게 될까요? 정규식은 어떻게 수정해야합니까? – Pierpaolo
@Pierpaolo : 새로운 정규 표현식을 사용하여 정규 표현식을 만들어야합니다. https://developer.mozilla.org/en-US/docs/JavaScript/Guide/Regular_Expressions - 탈출을 잊지 마십시오. 'replaceMe' 변수는 정규 표현식을 변경할 특수 문자를 포함하지 않습니다. –
var pos = str.lastIndexOf('_');
str = str.substring(0,pos) + otherchar + str.substring(pos+1)
마지막으로 밑줄을
를 교체하거나 것 정규 표현식 중 하나를 사용하도록
str = str.substring(0,str.length-2)+otherchar
문자열에서 마지막 문자를 대체 할 수 없음 jQuery를위한 필요성도 정규식 누군가와 잠시 나간다.
+1은 "jQuery가 필요 없음"입니다. JQuery가 모든 것에 대한 해답이 아니라는 것을 아는 것이 중요합니다.Javascript는 jquery를 통해 모든 것을 푸시 할 필요없이 완벽한 프로그래밍 언어입니다. – Spudley
@ Spudley 그렇습니다. 그러나 여기에 그래서 아무 JS 대답 jQuery 버전없이 완료됩니다;)) – mplungjan
* 정규식 * & ***'lastIndexOf (...)'에 대한 + 1은 끝 ***에서 검색합니까 (더 나은 성능) 그래서 현재 받아 들여지는 regexp는 더 빠를 수 없다. –
의 문자를 대체 문자열을 역. How do you reverse a string in place in JavaScript?
같은 생각을했지만 lastIndexOf를 반대로 비교하는 작은 벤치 마크를 실행했습니다. http://jsperf.com/replace-last – fakewaffle
은 간단
var someString = "a_b_c";
var newCharacter = "+";
var newString = someString.substring(0, someString.lastIndexOf('_')) + newCharacter + someString.substring(someString.lastIndexOf('_')+1);
당신이 코드
var str="test_String_ABC";
var strReplacedWith=" and ";
var currentIndex = str.lastIndexOf("_");
str = str.substring(0, currentIndex) + strReplacedWith + str.substring(currentIndex + 1, str.length);
alert(str);
어떤 약을 사용할 수 있습니다 유지 : 여기
는 자바 스크립트 문자열을 반전의 게시물입니다 이?function replaceLast(x, y, z){
var a = x.split("");
a[x.lastIndexOf(y)] = z;
return a.join("");
}
replaceLast("Hello world!", "l", "x"); // Hello worxd!
이 mplungjan의 대답과 매우 유사하지만, 어쨌든, 난 그냥 '생각 (당신이 바로 후 다른 문자열 조작을 할 필요 배열로 유지하려는 특히 경우) 좀 더 쉽게 할 수있다 다른 사람이 선호하기 때문에 거기에 넣으십시오. '-'당신이 그것을 대체 할 문자 또는 문자열로 대체 할 수
var str = 'a_b_c';
str = str.split(''); //['a','_','b','_','c']
str.splice(str.lastIndexOf('_'),1,'-'); //['a','_','b','-','c']
str = str.join(''); //'a_b-c'
는 '_'당신이
를 교체 할 문자 그리고 함께 교환 할 수 있습니다
- 1. 문자열의 문자 교체 비용은?
- 2. 문자열의 중간에서 문자 교체
- 3. 문자열의 교체
- 4. 문자열의 마지막 문자 제거 (VB.NET 2008)
- 5. PostgreSQL 문자열 문자 교체
- 6. jquery로 문자 교체
- 7. PHP - 보안 문자 교체
- 8. 정규식 - 숫자 문자열의 교체 부분
- 9. 문자열의 문자 수 표시
- 10. 문자열에서 마지막 char 문자 찾기
- 11. python : 문자열의 특수 문자 바꾸기
- 12. 표준 : : 문자열의 문자 참조
- 13. xslt 문자열의 특수 문자
- 14. 문자열의 최대 문자 수
- 15. 문자열의 특수 문자 수정
- 16. 문자열의 반복 문자 테스트
- 17. 루아에서 문자열의 문자 수정하기
- 18. 문자열의 16 진수 문자
- 19. Ada에서 문자열의 문자 찾기
- 20. Ruby에서 문자열의 문자 찾기
- 21. 문자열의 문자 비교 알고리즘
- 22. xcode는 문자열의 마지막 문자를 자릅니다.
- 23. 입력에서 마지막 문자 삭제
- 24. 마지막 문자 삭제 UITextField
- 25. 목표 C - 문자열에서 마지막 문자 제거
- 26. 정규식, jQuery로 문자열의 마지막 특정 문자를 제거하십시오.
- 27. 문자열의 접미사에서 알파 문자 제거 Perl Regex
- 28. 정규 표현식 : 마지막 2 문자 추출
- 29. 파이썬 : 주어진 문자열의 임의의 문자
- 30. 문자열의 유니 코드 문자 - iphone
항상 문자열의 마지막 문자입니까? 그렇지 않다면 string.lastIndexOf (searchstring, start)를보십시오 – skarmats
[jQuery가 필요하지 않습니다] (http://meta.stackexchange.com/questions/45176/when-is-use-jquery-not-a -valid-answer-to-a-javascript- 질문). – zzzzBov
가능한 중복 [자바 스크립트를 사용하여 문자열의 마지막 문자를 바꾸는 방법] (http://stackoverflow.com/questions/3829483/how-to-replace-last-occurrence-of-characters-in-a-string -using-javascript) –