Как сравнить / сопоставить / заменить строку JavaScript (регулярное выражение) с другой строкой, игнорируя порядок строк - PullRequest
0 голосов
/ 29 ноября 2018

скажем, у меня есть строка var str = "this is the string";

Я хочу сравнить ее с этой строкой var str2 = "string is the";

, и я хочу, чтобы она возвращала true или совпавшую строку с javascript и regex

1 Ответ

0 голосов
/ 29 ноября 2018

На основании вашего объяснения я создал пример того, что вам нужно.В этом примере кода я создал функцию, которая будет принимать две строки, они будут разделяться на любые несловесные символы и затем сравниваться независимо от порядка слов в строке.Если строки одинаковые, то есть содержат одни и те же слова, независимо от порядка слов, он вернет true.

let string1 = "this is the string";
let string2 = "string is the this";

function findMatch( string1, string2 ) {
	//split by any non-word character, anything that is not
        //a-z, A-Z, 0-9 ( including the _ character )
	let splitPattern = /\W/;
	let split1 = string1.split( splitPattern );
        let split2 = string2.split( splitPattern );
	
    //traverse string1 array 
	for ( let i = 0; i < split1.length; i++ ) {
           let checkForMatch = false;
          //traverse string2 array
  	  for( let j = 0; j < split2.length; j++ ) {
    	    if ( split1[ i ] === split2[ j ] ) {
              checkForMatch = true;
              break;
            }
          }//inner for
    
    //if match not found in one itteration, strings do not
    //match and false should be returned
    if ( !checkForMatch ) {
    	return false;
    }
  }//outer for
  
  //else it matches so return true
   return true;
 
}//end findMatch

console.log( findMatch( string1, string2 ) );

Я надеюсь, что это вам поможет.

РЕДАКТИРОВАТЬ: В противном случае, если вы просто хотите проверить, существует ли string2 в string1, вы можете переключить двамассивы с разделенными результатами в циклах for.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...