【问题标题】:Trying to make an if statement that checks if a string contains a character using indexOf. Having a little bit of trouble尝试使用 indexOf 创建一个 if 语句来检查字符串是否包含字符。有点麻烦
【发布时间】:2020-03-29 19:47:23
【问题描述】:

我希望它是如果字符串包含某个字符它会做一件事的地方。例如,如果Serial.readString(); 读取 X100Y100,那么我想检查它是否包含 X。到目前为止我所拥有的是:

void serialEvent() {
    serialData = Serial.readString();
    if (serialData.indexOf('X')) {
        serX.write(parseDataX(serialData));
    } else {
    // Doesnt contain the character X
    }
}

这行得通吗?

【问题讨论】:

    标签: c++ arduino arduino-c++


    【解决方案1】:

    如果找到XindexOf() 将返回其索引。如果在索引 0 处找到它,您的 if 语句将评估为 false。同样,如果找不到XindexOf() 将返回-1,您的if 语句将评估为真。要检查serialData中是否存在X,您需要检查indexOf()是否不返回-1

    if (serialData.indexOf('X') != -1)
    

    请参阅indexOf() documentation 了解更多信息。

    【讨论】:

    • 非常感谢!效果很好!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-13
    • 2020-07-19
    • 2018-03-16
    • 1970-01-01
    • 2019-01-04
    • 1970-01-01
    相关资源
    最近更新 更多