【问题标题】:How to get Arduino values from a string after and before a column (character)?如何从列(字符)之后和之前的字符串中获取 Arduino 值?
【发布时间】:2017-03-10 19:35:25
【问题描述】:

我正在努力记下一个字符串值。

这是实际代码(不起作用):

String stringValue;
String stringValue1;
int stringValue2 = 0;

stringValue = "FirstSensorReading: 456"

stringValue1 = BeforeColumn(":");
stringValue2 = AfterColumn(":");

代码应该返回以下内容:

String stringValue;
String stringValue1;
int stringValue2 = 0;

stringValue = "FirstSensorReading: 456"

stringValue1 = "FirstSensorReading";
stringValue2 = 456;

【问题讨论】:

  • BeforeColumn(":")AfterColumn(":"); 的代码是什么?您是否收到任何错误或不稳定的输出?
  • 是问题还是请求?
  • @eyllanesc 一个问题
  • @Ingenioushax 我需要将第一个字符串等于列之前的文本,将第二个字符串等于列之后的值。
  • Arduino 不是 C,也不完全是 C++。您的具体问题是什么?问题是什么?

标签: arduino arduino-ide


【解决方案1】:

如果您使用String,那么您可能想要使用indexOfsubstring

String stringValue;
String stringValue1;
int stringValue2 = 0;

stringValue = "FirstSensorReading: 456"

int index = stringValue.indexOf(':');
stringValue1 = stringValue.substring(0, index);
stringValue2 = stringValue.substring(index + 2).toInt();

【讨论】:

  • 请告诉代码中的任何 cmets 它是如何工作的? x)
  • 哥们,我链接了两个官方教程。
  • OP 有互联网但没有搜索引擎?
  • @KevinDTimm xD 你好笑!
  • @mpiatek 很好,我一定会试一试,如果它适合我​​的需要,我会回来将其标记为答案,我认为它会。
【解决方案2】:

您正在寻找的是strtok()strtok_r() - 后者是线程安全/可重入的。

【讨论】:

  • 您能否在回答中举个例子,这似乎是一个很好的例子。
  • 我建议搜索arduino strtok,因为教人钓鱼比教人钓鱼好。
  • 圣洁的摩西 - 为什么在广泛的体育世界中会有人投反对票?
  • 我想这是因为它解释的不多,而你想解释的堆栈。不是我吗 :P 我正在研究你的提示^^
  • 而且我不会编写在 Internet 上 1B 位置可用的代码。我希望尝试编写软件的人付出一点努力,而搜索引擎的使用是第 1 课。
猜你喜欢
  • 2022-11-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-06
  • 2012-02-10
  • 2020-02-29
相关资源
最近更新 更多