在字符串Javascript中查找单词

时间:2017-08-31 09:47:20

标签: javascript

我有一组字符串:

s1 = 'user-1 color-class';
s2 = 'text-class user-1 color-class";
s3 = 'text-class not-user-1 color-class";
s4 = 'not-user-1 color-class";
s5 = 'not-user-1 user-1 color-class";

我想为包含以player-开头的所有字符串返回true或false。也就是说,不是作为另一个单词的一部分,而是从。

开始

所以对于上面的

s1 = 'user-1 color-class';  <-- TRUE
s2 = 'text-class user-1 color-class";  <-- TRUE
s3 = 'text-class not-user-1 color-class";  <-- FALSE
s4 = 'not-user-1 color-class";  <-- FALSE
s5 = 'not-user-1 user-1 color-class";  <-- TRUE

例如:

if (hasUserClass(string)) {           <-- boolean

此外,如何从类字符串中获取user-X值?

userClass = getUserClass(string);     <-- `user-3`

由于

这是我到目前为止所做的:

function getUserClass(element)
{
    if (! element) {
        return false;
    }

    var classes = $(element).attr('class');

    if (classes.search('user-') == -1) {
        return false;
    }

    return classes.match(/player\-\d+/gi)[0];
}


function userHasClass(element)
{
    if (! element) {
        return false;
    }

    var userClass = getUserClass(element);

    return (userClass == active_user.class);
}

但是这没有考虑到必须是匹配单词的开头。

4 个答案:

答案 0 :(得分:1)

这是ES6单行。

&#13;
&#13;
s1 = 'user-1 color-class'; //<-- TRUE
s2 = 'text-class user-1 color-class';  //<-- TRUE
s3 = 'text-class not-user-1 color-class';  //<-- FALSE
s4 = 'not-user-1 color-class';  //<-- FALSE
s5 = 'not-user-1 user-1 color-class';  //<-- TRUE

const myTest = words => words.split(" ").some( str => str.startsWith("user-") )

console.log(myTest(s1), myTest(s2) ,myTest(s3), myTest(s4), myTest(s5))
&#13;
&#13;
&#13;

答案 1 :(得分:0)

我猜你的意思是从user-开始。

txt.split(' ').some((elem) =>  elem.startsWith('user-'));

将为您提供所需

答案 2 :(得分:0)

只需使用html { background-image: url("../images/background.jpg"); } 即可。但为什么不直接通过indexOf

active_user.class

答案 3 :(得分:-1)

https://www.w3schools.com/jsref/jsref_indexof.asp

看看这个。

如果您使用

import io
import pandas as pd

df = pd.read_csv(io.StringIO(data.text))   
print(df.head())

    timestamp   open     high      low  close  adjusted_close    volume  \
0  2017-08-30  73.01  74.2099  72.8293  74.01           74.01  16826094   
1  2017-08-29  72.25  73.1600  72.0500  73.05           73.05  11448677   
2  2017-08-28  73.06  73.0900  72.5500  72.83           72.83  14112777   
3  2017-08-25  72.86  73.3500  72.4800  72.82           72.82  12574503   
4  2017-08-24  72.74  72.8600  72.0700  72.69           72.69  15980144   

   dividend_amount  split_coefficient  
0              0.0                1.0  
1              0.0                1.0  
2              0.0                1.0  
3              0.0                1.0  
4              0.0                1.0  

df.to_csv('out.csv')

稍后您可以使用var str = "Hello world, welcome to the universe."; var n = str.indexOf("welcome"); var m = str.indexOf("itDoesntExist"); console.log(n) // prints 13 console.log(m) // prints -1 since it doesnt exist 语句。

if