【发布时间】:2021-12-12 06:00:21
【问题描述】:
我想获取一个字符串并将其中的所有整数隔离,然后将它们存储在一个数组中。
输入字符串只会包含字母 a-z(大写和小写)、数字 0-9 和“-”(读作减号)。
到目前为止,我已经写了:
String str = readString();
String[] arr = str.split("[^0-9-]+");
如果我的输入字符串是例如“15abc-59abc31abc100”,上面的代码可以正常工作,我只需要将字符串数组中的每个元素转换为 int,但是如果我的输入字符串在数字之间没有字母来分隔它们将无法正常工作。示例:abc59-12abc56-10abc10 将生成一个只有 3 个元素的数组:59-12、56-10、10 如何让它将减号识别为数组中新元素的开始,而不会丢失符号本身?
理想情况下,我希望输入“abc59-12abc56-10abc10”在拆分后看起来像这样:
String[] arr = {"59","-12","56","-10","10");
readString();方法将始终提供我上面描述的字符串类型。
【问题讨论】:
标签: java string split type-conversion integer