programing

기판과 서브스트링의 차이점은 무엇입니까?

sourcejob 2022. 12. 13. 20:05
반응형

기판과 서브스트링의 차이점은 무엇입니까?

와의 차이는 무엇입니까?

alert("abc".substr(0,2));

그리고.

alert("abc".substring(0,2));

둘 다 "ab"를 출력하는 것 같습니다.

차이는 두 번째 인수에 있습니다.의 두 번째 .substring는 정지하는 되지 않음)이지만, 두 는 '인수(인수, '인수'는 '인수'로, '인수'는 '인수'입니다.substr는 반환되는 최대 길이입니다.

링크?

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/substr

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/substring

substr(MDN)은 파라미터를 다음과 같이 취득합니다.(from, length).
substring(MDN)은 파라미터를 다음과 같이 취득합니다.(from, to).

업데이트: MDN 고려 사항substr레거시

alert("abc".substr(1,2)); // returns "bc"
alert("abc".substring(1,2)); // returns "b"

하실 수 .substring(i의 경우) 다른 문자열 추출 방법인 슬라이스(i의 경우)와 마찬가지로 인덱스를 취합니다.

0부터 시작하는 경우 두 가지 방법을 모두 사용할 수 있습니다.

yatima2975의 답변에서 암시한 바와 같이 다음과 같은 추가 차이가 있습니다.

substr(). substring()지지않않않않

MDN에서:

start가 음수인 경우 start가 문자열 끝에서 문자 인덱스로 사용됩니다.

기능상의 차이를 정리하면 다음과 같습니다.

substring(begin-offset, end-offset-exclusive)은 "begin-timeout" 입니다.0

substr(begin-offset, length)일 수도 .

가장 큰 차이점은 이다.

subst()를 사용하면 반환되는 최대 길이를 지정할 수 있습니다.

substring()에서는 인덱스를 지정할 수 있으며 두 번째 인수는 포함되지 않습니다.

substring()과 substring() 사이에는 equal 인수 및 negative 인수 처리와 같은 몇 가지 하위 항목이 있습니다.또한 substring()과 slice()는 비슷하지만 항상 같은 것은 아닙니다.

  //*** length vs indices:
    "string".substring(2,4);  // "ri"   (start, end) indices / second value is NOT inclusive
    "string".substr(2,4);     // "ring" (start, length) length is the maximum length to return
    "string".slice(2,4);      // "ri"   (start, end) indices / second value is NOT inclusive

  //*** watch out for substring swap:
    "string".substring(3,2);  // "r"    (swaps the larger and the smaller number)
    "string".substr(3,2);     // "in"
    "string".slice(3,2);      // ""     (just returns "")

  //*** negative second argument:
    "string".substring(2,-4); // "st"   (converts negative numbers to 0, then swaps first and second position)
    "string".substr(2,-4);    // ""
    "string".slice(2,-4);     // ""

  //*** negative first argument:
    "string".substring(-3);   // "string"        
    "string".substr(-3);      // "ing"  (read from end of string)
    "string".slice(-3);       // "ing"        

된 또 하나의 에서 IE 8을 사용한다는 입니다."abcd".substr(-1)하여 반환하다"abcd" 3은 「」, 파이어폭스 3.6은 「」을 반환합니다"d"당연히 그래야지 slice이치노

이 주제에 대한 자세한 내용은 여기를 참조하십시오.

큰 차이는 은 여전히 사용할 수 있는 권장되지 않는 방법이지만 향후 완전히 제거될 것으로 예상되기 때문에 주의해야 한다는 것입니다.코드에서 이러한 사용을 삭제하는 작업을 수행해야 합니다.그리고 그 방법은 성공했고, 앞의 것을 명시했다.

차이는 두 번째 매개 변수입니다.두 번째 파라미터는 두 가지 수치와 함께 다음 두 가지를 상정하고 있습니다.

서브스트링을 사용할 때 두 번째 파라미터는 다음 항목을 포함하지 않는 첫 번째 인덱스입니다.

var s = "string";
s.substring(1, 3); // would return 'tr'

var s = "another example";
s.substring(3, 7); // would return 'ther'

서브스트링을 사용할 경우 두 번째 파라미터는 서브스트링에 포함할 문자 수입니다.

var s = "string";
s.substr(1, 3); // would return 'tri'

var s = "another example";
s.substr(3, 7); // would return 'ther ex'

서브스트링():여기에는 "시작"과 "끝"의 두 가지 매개 변수가 있습니다.

  • start 파라미터는 필수이며 추출을 시작할 위치를 지정합니다.
  • end 파라미터는 옵션이며 추출이 종료되는 위치를 지정합니다.

end 파라미터를 지정하지 않으면 시작 위치에서 문자열 끝까지의 모든 문자가 추출됩니다.

var str = "Substring Example";
var result = str.substring(0, 10);
alert(result);

Output : Substring

start 파라미터의 값이 end 파라미터의 값보다 클 경우 이 메서드는 두 인수를 스왑합니다.즉, start가 end로 사용되고 end가 start로 사용됩니다.

var str = "Substring Example";
var result = str.substring(10, 0);
alert(result);

Output : Substring

기판():여기에는 "시작"과 "카운트"의 2개의 파라미터가 있습니다.

  • start 파라미터는 필수이며 추출을 시작할 위치를 지정합니다.

  • count 파라미터는 임의이며 추출할 문자 수를 지정합니다.

var str = "Substr Example";
var result = str.substr(0, 10);
alert(result);


Output : Substr Exa

count 파라미터를 지정하지 않으면 시작 위치에서 문자열 끝까지의 모든 문자가 추출됩니다.카운트가 0 또는 마이너스인 경우 빈 문자열이 반환됩니다.

var str = "Substr Example";
var result = str.substr(11);
alert(result);

Output : ple

서브스트링(startIndex, endIndex(미포함))

subst(startIndex, 글자 수)

const string = 'JavaScript';

console.log('substring(1,2)', string.substring(1,2)); // a
console.log('substr(1,2)', string.substr(1,2)); // av
let str = "Hello World"

console.log(str.substring(1, 3))  // el -> Excludes the last index
console.log(str.substr(1, 3))  // ell -> Includes the last index

편집: 이 답변은 R 프로그래밍에 관한 것입니다.

substring()과 substring()의 주요 차이점은 다음과 같습니다.

  1. substring()에는 인수 start와 stop이 있고 인수 first와 last로 하위 문자열이 지정됩니다.

    substr(x, start, stop)

그리고.

substring(text, first, last = 1000000L)

substr("abcdef", start = 2, stop=4)
[1] "bcd"

substring("abcdef", first = 2, last = 4)    
[1] "bcd"
  1. 서브스트링 함수는 'last' 인수의 기본값 [1000000L]이 크기 때문에 기판 함수에 stop 인수 값을 지정해야 한다고 지정하는 것을 건너뛸 수 있습니다.

substr("abcdef", start = 2)
Error in substr("abcdef", start = 2) : 
  argument "stop" is missing, with no default

substring("abcdef", first = 2)
[1] "bcdef"
  1. 여러 시작점 또는 정지점에 기판 함수를 적용하면 함수는 첫 번째 엔트리(즉, 정지점 1)만 사용하는 반면 하위 문자열 함수는 가능한 여러 문자열을 추출합니다.

> substr('abcdef', 1:3, 5)
[1] "abcde"
> substr('abcdef', 1:3, 5:6)
[1] "abcde"
> substr('abcdef', 1, 5:6)
[1] "abcde"
> substring('abcdef', 1:3, 5)
[1] "abcde" "bcde"  "cde"  
> substring('abcdef', 1, 5:6)
[1] "abcde"  "abcdef"
> substring('abcdef', 1:3, 5:6)
[1] "abcde" "bcdef" "cde"  

음의 지수/0의 사용을 언급하고 있습니다.둘 다 substring()과 substring()에 의해 받아들여집니다.

> substr('abcdef', -2, 3)
[1] "abc"
> substring('abcdef', -2, 3)
[1] "abc"
> substring('abcdef', 0, 3)
[1] "abc"
> substr('abcdef', 0, 3)
[1] "abc"

문자열 치환에 substring() 또는 substring()을 사용하는 경우의 중요사항:

치환된 데이터의 치환된 부분과 같은 수의 문자를 사용해야 합니다.서브스트링을 길이가 다른 문자열로 대체할 경우 gsub() 함수를 참조할 수 있습니다.

추신: R 버전 4.0.4를 사용하고 있습니다.

언급URL : https://stackoverflow.com/questions/3745515/what-is-the-difference-between-substr-and-substring

반응형