我有一个字符串,如下所示
var str = "This product price is £15.00 and old price is £19.00";
我需要得到以“£”开头的词; 结果应为“£15.00”“£19.00” 我如何在Javascript中完成?
答案 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
修饰符会导致全局搜索。