从Javascript中的字符串中提取以特定字符开头的单词

时间:2016-07-25 06:47:34

标签: javascript html css

我有一个字符串,如下所示

var str = "This product price is £15.00 and old price is £19.00";

我需要得到以“£”开头的词; 结果应为“£15.00”“£19.00” 我如何在Javascript中完成?

5 个答案:

答案 0 :(得分:6)

使用 String#match 方法



var str = "This product price is £15.00 and old price is £19.00";

// if `£` follows non-digit also then use
console.log(str.match(/£\S+/g));
// if `£` follows only number with fraction
console.log(str.match(/£(\d+(\.\d+)?)/g));




答案 1 :(得分:1)

使用for df in reader: print(dict(zip(df.time, df.split_counts))) {1468332421098000: '[50000,2]', 1468332421195000: '[30000,2]'} {1468332421383000: '[60000,2]', 1468332423568000: '[30000,2][40000,2]'} {1468332423489000: '[30000,6]', 1468332421672000: '[60000,2]'} {1468332421818000: '[40000,2]', 1468332422164000: '[40000,2]'} {1468332423490000: '[30000,12]', 1468332422538000: '[40000,2]'} {1468332423491000: '[30000,2]', 1468332423528000: '[70000,2]'} {1468332423533000: '[40000,4]', 1468332423536000: '[40000,4]'} {1468332423566000: '[60000,6]'} 将字符串转换为数组,然后使用.split()创建一个包含所需内容的新数组。



.filter




答案 2 :(得分:0)

有可能:

var myChar = '£';
var str = "This product price is £15.00 and old price is £19.00";
var myArray = str.split(' ');
for(var i = 0; i < myArray.length; i++) {
  if (myArray[i].charAt(0) == myChar) {
    console.log(myArray[i]);
  }
}

答案 3 :(得分:0)

您可以使用正则表达式执行以下操作,将每个已识别的单词(在本例中为价格)存储在数组中,然后在需要时将其抓取

6.5.1.2.3
6.10.3.9.6
7.2.0.0.0
10.11.12.13.4

答案 4 :(得分:0)

您可以使用RegEx:

来实现此目的
let str = "This product price is £15.00 and old price is £19.00";
let res = str.match(/£[0-9]+(.[0-9]{1,2})?/g);

结果将是:

["£15.00", "£19.00"]

简短说明:

此RegEx匹配以£符号开头的所有单词,后跟最少1到n位数字。

£[0-9]+

..和可选项有两位小数。

(.[0-9]{1,2})?

g修饰符会导致全局搜索。