java - Android:将字符串读取到特定字符

标签 java android regex split substring

我正在以 @transfer:Off# 的格式从 micro controller 读取命令,但有时 microcontroller 会发送垃圾命令,例如 @transfer:Off#@waste#,因为 Controller 的编程是由其他一些未知的程序员完成的。我只需要 @transfer:Off# 字符串,它从 @ 开始并以第一个 # 结束 编译器应该在开始时等待 @ 并读取 string 直到第一个 # 出现并停止读取 wards。

我通过使用以下代码 block 获得正常命令。

if(values.length > -1){
    command = values[0].substring(1, values[0].length() - 1);
    int commandLength = command.split(":").length;
    if(commandLength>1){
        identifier = command.split(":")[0];
        value = command.split(":")[1];
    }else{
        value = "No";
    }
 }

我如何完成这项工作?

最佳答案

如果您不知道微 Controller 发送给您的字符串的长度,您将需要拆分 string # 并获取 array 的第一个成员。

String recieveString = "@transfer:Off#@waste#";
String resStr = recieveString.split("#")[0]; 

关于java - Android:将字符串读取到特定字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36763047/

相关文章:

android - 使用一部智能手机/平板电脑连接多个智能 watch

java - Intent Intents.Insert.ACTION 只在第一次有效吗?

android - Android 浏览器上的嵌入式谷歌文档查看器 iframe

java - 将数据从 MySQL 加载到 JComboBox

java - 如何强制子类创建构造函数?

regex - 否定正则表达式中的交替

c# - 提取 "Home"之后的 URL 部分

ruby - 在扫描或正则表达式模式中的模式中提取 Ruby 字符串

java - 如何循环和编辑流值(字符串)

java - 拥有大量(20+)简单线程是否有危险?