2017-12-15 10 views
0

나는 두 개의 문자열이있다.두 문자열에 Javascript에서 같은 문자가 포함되어 있는지 확인하는 방법은 무엇입니까? 나는 두 문자열의 일반적인 문자가없는 경우 확인하려면 다음 변수를 비교해야</p> <pre><code>var a = 'ABCD'; var b = 'DEFG'; </code></pre> <p>:

따라서 D은 그 (것)들에있는 일반적인 특성이기 때문에이 경우에는 false (또는 무언가를 ...) 돌려 보내십시오.

+2

귀하는 귀하의 의견을 들어 보셨습니까. 그렇다면 커뮤니티를 공유하면 문제를 해결하는 데 도움이 될 수 있습니다. 자세한 내용을 보려면 https://stackoverflow.com/help/mcve를 참조하십시오. –

+0

두 문자열의 [JavaScript/Lodash 교차] 가능한 복제본 (https://stackoverflow.com/questions/41708035/) javascript-lodash-of-two-strings) –

+0

여기에서 시도한 것을 제공해야합니다. .length> 0 '은 여러 가지 해결책 중 하나입니다.'('[ABCD', 'DEFG']. – KooiInc

답변

1

두 개의 문자열을 병합 한 다음 정렬하여 루프 할 수 있으며 일치하는 항목을 찾으면 루프를 종료 할 수 있습니다.

나는 다른 스택 오버플로 대화에이 제안을 발견

var str="paraven4sr"; 
var hasDuplicates = (/([a-zA-Z]).*?\1/).test(str)  

당신이 함께 문자열을 병합한다면, 대신 루핑하는 정규 표현식을 사용하기 위 할 수 있습니다.

+0

이것은 원래 문자열이 중복 된 것을 포함합니다. – Barmar

+0

무엇이 있습니까? 특급 또는 게시물? 위의 표현은 dups를 찾고 두 문자열을 먼저 병합하는 것에 대해 언급했습니다. – samoan

+0

원래 문자열 중 하나에 중복 된 문자가있는 경우 두 문자열을 병합해도 두 문자열 사이에 공통점이 없더라도 중복됩니다. 예 : ''ABA ''와''C'''로 시작하면''ABAC ''로 합쳐질 것이고, 중복 된'A' 때문에'true'를 반환 할 것입니다. – Barmar

0

감사합니다. 난 당신의 솔루션을 시도하고, 마지막으로이있어 :

  • 은 하나의 소문자로
  • 로 최종 연접 경우 정규식 일치를 사용하여
  • 정렬,
  • 및 가입,
  • 을 내 두 문자열을 병합 문자열에 반복이 포함되어 있으면
  • 반복이없는 경우 0을 반복하고 반복 횟수를 반환합니다.

    var a; var b; 
    var concatStr=a+b; 
    checkReptCharc=checkRepeatChrcInString(concatStr); 
    function checkRepeatChrcInString(str){ 
    console.log('Concatenated String rec:' + str); 
    try{ return 
    str.toLowerCase().split("").sort().join("").match(/(.)\1+/g).length; } 
    catch(e){ return 0; } 
    } 
    
0

그것은 단지 ('') .split를 사용하여 별도의 문자열 배열에서 문자열을 복제한다면, 그때는 별도로 두 개의 문자열을 정렬 할 것이며, 다음 이진 검색을 수행의 배열로 시작 가장 짧은 길이, 같은 길이의 경우 첫 번째 문자를 사용하고 문자로 이동하여 다른 문자열에 있는지 검색하십시오.

관련 문제

 관련 문제