Java中如何拆分字符串之间的数字和字母,问题表述:提供了字母和数字的列表。如何使用字母和数字之间的边界分割字符串,并反过来将其分割为字母或数字的子字符串。
不使用预定义函数拆分字符串
将字符串str分成三个段:一个数字段;一个字母部分;和一个带有特殊字符的段。
示例
步骤
- 确定字符串的长度。
- 分别扫描字符串中的每个字符(ch) 如果(ch是一个数字),将它添加到res1字符串中。 或者,如果(ch是一个字母),向res2添加一个字符串。 否则将其添加到字符串res3中。
- 打印每一个字符串。我们将有三个字符串:一个带有数字成分,一个没有数字成分,还有一个带有特殊字符。
实现
输出:
时间复杂度:前一种方法的时间复杂度是O(n),其中n是字符串的长度。
辅助空间:give code的空间复杂度为O(n),其中n为字符串的长度。
我们也可以用正则表达式拆分字符串,比如(?<=\D)(?=\ D)。是这样的:
输出:
所以有很多方法可以在数字和字符之间分割字符串:
方法: 1
输出:
方法: 2
输出:
方法: 3
输出: