如何在jquery / javascript中剪切包含“map”的字符串

时间:2011-04-28 07:11:32

标签: javascript jquery

有谁知道如何在jquery / javascript中剪切包含“map”的字符串

实施例: 如果我有一个字符串

var stringName = "abc mapTest bbc";

如何通过mapTest结果剪切字符串?

注意:假设stringName不是固定值,它可以更改为“mapTest asdasd asdd”,“asdasd asfffd mapTest”等等。并且“mapTest”将不断变化(例如mapTest1,mapTest,mapTest5等)

4 个答案:

答案 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);