【发布时间】:2017-08-12 03:43:55
【问题描述】:
我正在开发一个适用于 Android 的 SMS 应用程序,我在单个 SMS 中发送多个预定义大小的字符串。在发送端,我连接了许多预定义大小的字符串。收到短信后,我想根据大小将长字符串拆分成更小的字符串。
这是一个简单的代码来解释我的尝试:
// On the SMS sending side
String str1 = new String(new char[8]);
String str2 = new String(new char[4]);
String str3 = new String(new char[2]);
String str4 = new String(new char[2]);
String sendSMS = str1 + str2 + str3 + str4;
// send SMS
收到数据后,我想将组合的字符串分成 str1、str2、str3、str4 的数据,因为我知道每个小字符串的大小。
到目前为止,我已经找到了一些关于 SO 的答案,所有这些答案都使用 split() 函数,但是我在连接的字符串之间没有分隔字符标记。相反,我想使用每个子字符串大小的知识来获取它们。我正在寻找类似于sscanf 的东西。
【问题讨论】:
-
那么,你的意思是你需要
String.substring()? -
我看过
String.substring(),但是我有很多字符串,使用子字符串来提取每个字符串变得非常混乱。有没有办法可以将每个字符串的大小用于单个函数调用,可以将字符串拆分为较小字符串的字符串数组?正如我在问题中所说,这与 C++ 中的sscanf非常相似(如果存在)