jquery에서 부분 문자열을 만드는 방법


115

클라이언트 측에서 jquery를 사용하여 "nameGorge"를 하위 문자열로 만들고 "name"을 제거하여 "Gorge"만 출력하도록하려면 어떻게해야합니까?

var name = "nameGorge"; //output Gorge

15
jQuery는 JavaScript로 작성된 라이브러리입니다. 자바 스크립트 위에 사용됩니다. 당신이 요청하는 것은 jQuery 라이브러리를 전혀 사용하지 않고도 JavaScript에서 수행 할 수 있습니다.
Jeff

1
jQuery는 JavaScript입니다 (정확히 JavaScript 라이브러리이지만 그럼에도 불구하고 JavaScript). 즉, jQuery를 사용하여 하위 문자열을 얻는 것이 이미 직선적 인 JavaScript에서보다 더 쉽게 작성 될 수 있다고 생각하지 않습니다.
VoidKing

답변:


235

jQuery가 필요하지 않습니다! 하위 문자열 방법을 사용하십시오.

var gorge = name.substring(4);

또는 제거하려는 텍스트가 정적이 아닌 경우 :

var name = 'nameGorge';
var toRemove = 'name';
var gorge = name.replace(toRemove,'');

5
죄송합니다. 잠든 후 이렇게 심하게 터질 줄은 몰랐습니다. 나는 여기를 약간 청소했습니다. 한편 누군가는 이것을
BoltClock

안녕하세요 BoltClock : 어떻게 지내세요? 나는 여기에서 요점을 증명하려고 노력했습니다. 대단히 감사합니다. 그래서 그것은 내가 클라이언트를 위해 코드를 수정하려고 할 때 답변을 찾고 여기에 오면 op의 표시된 답변이 그에게 만족 스러움을 의미합니다. . 그런 다음 나는 단순히 같은 질문을 게시하거나 내 문제의 예를 제공 할 수 없습니다 .. 매우 흥미 롭습니다 .. 그래서 내 질문은 내가 jQuery 함수를 실행하고 내부에서 .split을 사용하는 경우이 사람들이 어떻게 그렇게 확신하는지와 같았습니다. 네이티브 JS 방식 또는 일종의 터널링 또는 프록시를 참조하여 jQuery를 통해 트리거합니다. 또한 질문을 읽으면.
Jean Paul AKA el_vete 2013 년

내 요점은 나에게 jQuery 네임 스페이스 내에서 작업하고 있다는 것입니다 .JS에서 직접 string.split을 호출하는 경우에는별로 신경 쓰지 않지만 대신 커뮤니티에서 정확한 질문을 게시하면 이해했습니다. 이 응답은 내 어딘가에 jQuery.split 문서 참조가 있다는 사실보다 더 많이 받아 들여지기 때문에 적어도 내 코드와 모든 jQuery에 충돌을주지 않고 거기에 있기 때문에 있어야한다고 말해줍니다. 플러그인 삭제 된 사진에 당신은 감사 ... 그래서 볼 수 있었다 다시 한 번
장 폴 AKA el_vete

5
@JeanPaul-jQuery에는 split ()이 없습니다. 우리는 이미 이것을 끝냈습니다. 이전에 링크 한 두 기사 모두 text ()를 사용하여 바닐라 JavaScript 문자열을 얻은 다음 string.split ()을 호출했습니다. 이 경우 당신은 분명히 틀 렸습니다. 그거 떨어 뜨려.
저스틴 니스 너

52

사용 .split(). (두 번째 버전은 .slice().join()어레이를 사용합니다.)

var result = name.split('name')[1];
var result = name.split('name').slice( 1 ).join(''); // May be a little safer

사용 .replace().

var result = name.replace('name','');

사용 .slice() 문자열에.

var result = name.slice( 4 );

jquery는 바꾸기를 지원하지 않습니다. 이것은 Vanilla js입니다
Jude


9

그것은 단순한 자바 스크립트입니다 : see substringand substr.


1
또는 실제로 slice(). Strange JS는 똑같은 말을하는 여러 가지 방법을 가지고 있어야합니다. 배열에서 slice()일관되게 작동 slice()하고 끝에서 인덱스에 대해 음의 시작 및 끝 인덱스를 허용 하므로 선호하는 방법 입니다.
bobince

@bobince : 사실, 나는 어떤 기억하지 못할 substringsubstr길이 매개 변수를 사용하고 종료 인덱스를 걸립니다 - 나는 항상 찾기 위해 문서를 찾아 볼 필요가있다.
casablanca

4

이를 위해 jquery가 필요하지 않습니다.

var placeHolder="name";
var res=name.substr(name.indexOf(placeHolder) + placeHolder.length);

클라이언트 측에서해야하고 이미 jquery가 있습니다. 그럼 당신은 무엇을 제안하고 있습니까? 간단한 질문에 대해 죄송하지만 js 및 jquery를 사용하는 초보자입니다.
Gorge

indexOf ( "name")가 0을 반환하기 때문에이 문은 "nameGorge"를 반환합니다.
Justin Niessner

2
var name = "nameGorge";
name.match(/[A-Z].*/)[0]

0

예, 가능하지만 jQuery 라이브러리가 아닌 Javascript의 고유 기능에 의존합니다.

http://www.w3schools.com/jsref/jsref_substr.aspsubstr 함수를 사용하면 문자열의 특정 부분을 추출 할 수 있습니다.

이제 추출 할 문자열 부분을 찾는 데 사용할 특정 문자열이나 문자를 찾고 있다면 indexOf 함수도 사용할 수 있습니다. http://www.w3schools.com/jsref/jsref_IndexOf.asp

하지만 질문은 다소 모호합니다. '이름'으로 텍스트링크 해도 원하는 결과를 얻을 수 있습니다. 하위 문자열을 얻는 기준은 정확히 무엇입니까?


1
strposJavaScript에 대한 질문에서 PHP의 기능에 연결 한 이유는 무엇 입니까?
casablanca

당신 말이 맞습니다. 오늘은 PHP가 너무 많습니다. 적절한 JS로 편집했습니다. 잡아 주셔서 감사합니다.
aaronofleonard 2010

-1

다음은 어떻습니까?

<script charset='utf-8' type='text/javascript'>
  jQuery(function($) { var a=$; a.noConflict();
    //assumming that you are using an input text 
    //  element with the text "nameGorge"
    var itext_target = a("input[type='text']:contains('nameGorge')");
    //gives the second part of the split which is 'Gorge'
    itext_target.html().split("nameGorge")[1];
    ...
  });
</script>
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.