有谁知道如何在jquery / javascript中剪切包含“map”的字符串
实施例: 如果我有一个字符串
var stringName = "abc mapTest bbc";
如何通过mapTest结果剪切字符串?
注意:假设stringName不是固定值,它可以更改为“mapTest asdasd asdd”,“asdasd asfffd mapTest”等等。并且“mapTest”将不断变化(例如mapTest1,mapTest,mapTest5等)
答案 0 :(得分:2)
我不知道您是否要删除mapTest
(或mapZZPQ
或其他),或在找到mapTest
时仅返回map
。这是代码:
var stringName = "123 abcmapdef 456"; // sample input
var hasMap = stringName.match(/\b\w*map\w*\b/); // returns "abcmapdef"
var hasNoMap = stringName.replace(/\b\w*map\w*\b/g, ""); // returns "123 456"
如果您只想在单词的开头匹配"map"
,请从模式中删除第一个\w*
,即/\bmap\w*\b/
。
答案 1 :(得分:1)
假设:
var stringName = "abc mapTest bbc";
var m = stringName.match(/\bmap\w+\b/);
即。匹配单词边界,“map”后跟一个或多个[*]字母数字,以及另一个单词边界。
您想要的结果(“mapTest”)将在
中m[0]
当匹配时,String.match()
返回一个数组,其中第一个元素是匹配的值。如果没有匹配,则会返回null
。
[*]如果“map”本身也匹配,则将regexp中的+
更改为*
。
答案 2 :(得分:0)
你想要这样的东西:
var result = stringName.split(" ");
var mapTest = result[1];
希望有所帮助。
答案 3 :(得分:0)
var stringName = "abc mapTest bbc";
var patt1=/mapTest/gi;
var result = stringName.match(patt1);