javascript - 搜索字符串并返回特殊字符后的所有值的函数

标签 javascript node.js string function bots

我正在制作一个机器人,它扫描股票代码的字符串输入并返回当前价格。格式为 !{ticker} 例如 !AAPL

我目前拥有的功能是:

function getVals(comment){
    let n = comment.indexOf("!")
    //Check if value
    if(n > 0){
        let ticker = comment.substring(n +1, n+5);

        //Then perform price check with ticker

    } else{
    console.log("error")
}
};

//Example comment
getVals("This if my first ticker !AAPL I also want to know !EA");

我遇到的问题是:

  1. 代码仅扫描“!”之后的 4 个字符。我不知道如何在空格之前结束
  2. 代码在第一个结果之后执行,而不是扫描剩余的代码。

任何帮助将不胜感激,提前致谢。

最佳答案

您应该使用Regexp来实现这一目标。

const str = 'This if my first ticker !AAPL I also want to know !EA';

const regexp = /![A-Z]+/g;

const result = str.match(regexp);

// Matches with '!' char
console.log(str.match(regexp));

// Removes '!' char
console.log(str.match(regexp).map((val)=>val.slice(1)));

关于javascript - 搜索字符串并返回特殊字符后的所有值的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48577738/

相关文章:

javascript - 没有从 nodeJS 中的 post 方法获得对 html 页面的响应

javascript - 使用 Nock.js 模拟类上的 Axios 方法

java - 匹配子字符串后替换字符串的所有后续字符

string - str_split 和 strsplit 之间的行为不一致

string - Scala 将多行字符串转换为 BigInt

javascript - Fullpage.js - 视频和页面调整大小问题

javascript - 如果禁用 Javascript,则使网页可见

mysql - 如何将对象从 Node 传递到 Mysql

javascript - Google 应用程序脚本,不能包含 css

javascript - 将链接转换为另一个链接 - javascript