Сопоставить строку с символами-заполнителями - PullRequest
0 голосов
/ 14 декабря 2018

У меня есть приложение JavaScript со строкой, которая включает в себя цепочку символов, которые должны быть сопоставлены с заданными шаблонами.Например, у меня есть строка ABCDEFGHI и шаблон CDE, поэтому каждый раз, когда в строке появляется CDE, это совпадение.Пока все хорошо с использованием функции includes().

Но некоторые символы в строке действуют как заполнители для других символов.Например, буква Z может преобразовываться в C или D, поэтому, если строка поиска равна ABZDEFGHI, она также должна совпадать с шаблоном CDE, поскольку Zмогу разрешить до C.

Я понятия не имею, как решить эту проблему, не прибегая к грубому принуждению каждой возможной комбинации.Любые идеи высоко ценятся.Спасибо!

1 Ответ

0 голосов
/ 14 декабря 2018

Если вы хотите поиграть со струной, вы можете начать отсюда:

$totalString= "ABCDEFGHIand";
$find="CDE";

$numChar= $find.length;

for ( $i=0; $i< ( $totalString.length - $find.length );$i++ ) {

  $string= $totalString.substring( $i, $i+ $numChar);

  $found=false;
  for ( $j=0; $j < $string.length; $j++) {
  if( $string[$j] != $find[$j] && $string[$j] !== "Z" ) {
  $found=true;
      break;
    }
  }

  if( ! $found ) {
      console.log($string);
  }

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