java - 将一个长字符串拆分为指定大小的较小字符串

标签 java android string

我正在开发适用于 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[] splitter(String input, int[] lengths)
{
    String[] output = new String[lengths.length];
    int pos = 0;
    for(int i=0;i<lengths.length;i++)
    {
        output[i] = input.substring(pos, pos+lengths[i]);
        pos = pos + lengths[i];
    }
    return output;
}

关于java - 将一个长字符串拆分为指定大小的较小字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45642332/

相关文章:

java - Wicket:编写自己的组件

android - 如何以编程方式打开选项菜单?

android - 如何找到进入和退出事件?

android - 子类 SurfaceView 中的 findViewById 抛出 RuntimeException

php - 字符串分配中的累积内存使用 : $a = $a . $b vs $a .= $b

java - iTextPDF 不显示 XMLWorkerHelper 中的日语字符

java - 使用 Maven 预填充 MongoDB 数据库

java - 如何从默认构造函数调用 set 方法?

objective-c - NSString sizeWithFont :constrainedToSize:lineBreakMode: differs from actual Label height

c++ - 如何查找子字符串或字符串文字