如何以这种方式拆分

How to split such way

本文关键字:方式 拆分      更新时间:2023-09-26

我试图从textarea中获取特定值。我知道这可以通过JavaScript的split方法来完成。我不明白该怎么做。

  <textarea
    name="css_sheet" rows="5">
    Hey @shaikatssj. How are you?
    </textarea>

 <textarea name="css_sheet" rows="5">
        @name
      </textarea>

我想获得值 shaikatssj名称

怎么办?

不是最优雅的方式,但这将从您的元素中获取文本并去除除名称之外的所有内容。基于您提供的示例用户名。

var name = document.getElementsByName('css_sheet')[0].value;
name = name.split("@")[1];
name = name.split(" ")[0];
name = name.split(".")[0];

此代码将从元素中检索文本,然后检索该文本中以 @ 开头的单词,并删除其末尾的.

我宁愿选择这样的东西

function findThatThing(string)
{
    return string
              .match(/@([^'s,;!.]+)/g)                         //Match each @ until next white space or some punctuation
              .map(function(v){return v.substring(1); });  //Remove the @ from each result
}

例如

findThatThing("Hello @john and @jane, you can tag by using a @ sign!")

会回来

["john", "jane"]

如果允许使用 ES6,您可以进一步缩小代码。