문자열에서 텍스트를 제거하는 방법?


답변:


1157

var ret = "data-123".replace('data-','');
console.log(ret);   //prints: 123

문서


모든 발생을 폐기하려면 다음을 사용하십시오.

var ret = "data-123".replace(/data-/g,'');

추신 : replace 함수는 새 문자열을 반환하고 원래 문자열을 변경하지 않은 상태로 두므로 replace () 호출 후에 함수 반환 값을 사용하십시오.


여러 표현식을 바꾸는 방법? 여러 개의 .replace 통화를 사용해야합니까?
Dror Bar

124

이것은 jQuery와 관련이 없습니다. 이를 위해 JavaScript replace함수를 사용할 수 있습니다 .

var str = "data-123";
str = str.replace("data-", "");

이 함수에 정규식을 전달할 수도 있습니다. 다음 예제에서는 숫자를 제외한 모든 것을 대체합니다.

str = str.replace(/[^0-9\.]+/g, "");

정규식이 무엇을 설명 할 수 있습니까? 0-9표시된 경우 숫자를 제외한 문자열을 대체하는 이유를 알 수 없습니다 .
rotimi-best

60

당신은 사용할 수 있습니다 "data-123".replace('data-','');언급 한 바와 같이,하지만 같은 replace()단지 대체 FIRST 당신의 문자열이 있다면처럼 뭔가를 일치하는 텍스트의 예를 "data-123data-"다음

"data-123data-".replace('data-','');

첫 번째로 일치하는 텍스트 만 바꿉니다. 그리고 당신의 출력은"123data-"

데모

따라서 모든 일치하는 텍스트를 문자열로 바꾸려면 g플래그와 함께 정규 표현식을 사용해야 합니다.

"data-123data-".replace(/data-/g,'');

그리고 당신의 출력은 "123"

데모 2


28

slice ()를 사용하여 시작부터 끝 (포함 된 끝점) 사이의 문자를 다시 작성합니다.

   string.slice(start , end);

다음은 작동 방식을 보여주는 몇 가지 예입니다.

var mystr = ("data-123").slice(5); // jast define start point so output is "123"
var mystr = ("data-123").slice(5,7); // define start and end  so output is "12"
var mystr=(",246").slice(1); // returens "246"

데모


23

평범한 오래된 JavaScript이면 충분합니다. jQuery는 간단한 작업에 필요하지 않습니다.

var myString = "data-123";
var myNewString = myString.replace("data-", "");

추가 정보 및 사용법 .replace()은 MDN 관련 문서를 참조하십시오 .


17

전의:-

var value="Data-123";
var removeData=value.replace("Data-","");
alert(removeData);

잘하면 이것은 당신을 위해 작동합니다.


11

C # (Sharp) String.Remove 메서드에 익숙했습니다. Javascript에는 문자열에 대한 제거 기능이 없지만 substr 기능이 있습니다. substr 함수를 한두 번 사용하여 문자열에서 문자를 제거 할 수 있습니다. c # 메서드가 처음으로 String.Remove (int startIndex)를 오버로드하는 것처럼 시작 인덱스에서 문자열 끝까지 문자를 제거하도록 다음 함수를 만들 수 있습니다.

function Remove(str, startIndex) {
    return str.substr(0, startIndex);
}

및 / 또는 c # 메서드의 두 번째 오버로드 String.Remove (int startIndex, int count)와 같이 시작 인덱스 및 카운트에서 문자를 제거하기 위해 다음 함수를 만들 수 있습니다.

function Remove(str, startIndex, count) {
    return str.substr(0, startIndex) + str.substr(startIndex + count);
}

그런 다음 필요에 따라이 두 기능 또는 그 중 하나를 사용할 수 있습니다!

예:

alert(Remove("data-123", 0, 5));

출력 : 123


9

내가 만든이 작은 기능은 항상 나를 위해 일했습니다 :)

String.prototype.deleteWord = function (searchTerm) {
    var str = this;
    var n = str.search(searchTerm);
    while (str.search(searchTerm) > -1) {
        n = str.search(searchTerm);
        str = str.substring(0, n) + str.substring(n + searchTerm.length, str.length);
    }
    return str;
}

// Use it like this:
var string = "text is the the cool!!";
string.deleteWord('the'); // Returns text is cool!!

나는 그것이 최고가 아니라는 것을 알고 있지만 그것은 항상 나를 위해 일했다 :)


답에 문자열의 바꾸기 기능이 어떻게 작동하는지 보여 주지만 실제로 문자열의 바꾸기 기능을 사용하는 것이 훨씬 간단하고 쉬운 코드입니다!

9
str.split('Yes').join('No'); 

이것은 원래 문자열에서 해당 특정 문자열의 모든 항목을 대체합니다.


8

match()및 사용 Number()하여 number변수 반환

Number(("data-123").match(/\d+$/));

// strNum = 123

위의 내용은 다음과 같습니다. 중간 작업 :

  1. str.match(/\d+$/) -끝의 숫자 길이와 일치하는 배열을 반환합니다. str . 이 경우 단일 문자열 item을 포함하는 배열을 반환합니다 ['123'].
  2. Number()-숫자 유형으로 변환합니다. 에서 반환 된 배열 .match()은 단일 요소 를 포함 Number()하므로 숫자를 반환합니다.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.