как я могу вырезать строку, содержащую «map» в jquery / javascript

#javascript #jquery

#javascript #jquery

Вопрос:

Кто-нибудь знает, как я могу вырезать строку, содержащую «map» в jquery / javascript

Пример: Если у меня есть строка

 var stringName = "abc mapTest bbc";
  

Как я могу вырезать строку только по результату mapTest?

ПРИМЕЧАНИЕ: например, предположим, что stringName не является фиксированным значением, оно может измениться на «mapTest asdasd asdd», «asdasd asfffd mapTest» и так далее. и «mapTest» будет продолжать меняться (например, mapTest1, mapTest, mapTest5 и так далее)

Комментарии:

1. каким должен быть ваш вывод … можете ли вы показать это…

Ответ №1:

Я не знаю, хотите ли вы удалить mapTest (или mapZZPQ что угодно) или возвращать только mapTest когда найдете map . Вот код для выполнения любого:

 var stringName = "123 abcmapdef 456";  // sample input

var hasMap = stringName.match(/bw*mapw*b/);           // returns "abcmapdef"          
var hasNoMap = stringName.replace(/bw*mapw*b/g, "");  // returns "123  456"
  

Если вы хотите сопоставить только "map" начало word, удалите первое w* из шаблона, т.е. /bmapw*b/ .

Комментарии:

1. сопоставление границ слов ( b ) было бы лучше, чем w*

Ответ №2:

Учитывая:

 var stringName = "abc mapTest bbc";
var m = stringName.match(/bmapw b/);
  

т. е. сопоставьте границу слова, «map», за которым следует один или несколько [*] буквенно-цифровых символов, и другую границу слова.

Желаемый результат («mapTest») будет в

 m[0]
  

Когда есть совпадение, String.match() возвращает массив, первым элементом которого является совпадающее значение. Если совпадения нет, оно вернется null вместо этого.

[*] если «map» само по себе также должно соответствовать, измените в регулярном выражении на * .

Комментарии:

1. 1 за b улучшение. Я забыл об этом. Но я думаю, что вам нужно добавить g в конце регулярного выражения, чтобы получить результат массива.

Ответ №3:

Вы хотите что-то вроде этого:

 var result = stringName.split(" ");
var mapTest = result[1];
  

Надеюсь, это поможет.

Ответ №4:

 var stringName = "abc mapTest bbc"; 

var patt1=/mapTest/gi;

var result = stringName.match(patt1);