Java:将字符串变量分解为字符串和整数变量?
答
从0开始解析,如果你看到非数字把它添加到一个StringBuffer,当你看到数字的StringBuffer的内容添加到List<String> strings;
和同为位数List<String> numbers
答
如果字符串长度是严格一个字母而数量只有1位,您可以用String.split("")
,但是一个更通用的解决方案,你可以使用regex
示例代码:
Matcher matcher = Pattern.compile("([a-zA-Z]+)(\\d+)").matcher("variable1121");
if (matcher.matches()) {
System.out.println(matcher.group(1) + " , " + matcher.group(2));
}
输出:
variable , 1121
+0
谢谢你已经完成了这个伎俩,整晚都在窃听我。 – 2013-02-20 21:43:25
答
如果你有一个字符串变量,如A1
或ABC123
,你可以尝试:
String input = "A1";
String[] array = input.split("(?<=([a-zA-Z]++))");
String str = array[0];
int integer = Integer.parseInt(array[1]);
除了到处找,你有没有尝试这个自己? – Reimeus 2013-02-20 21:24:10
没有。我们不会做你的功课 – jorgeu 2013-02-20 21:28:00
你的问题的答案是我自己尝试过,但作为一个相对较新的Java它是我没有遇到过的东西。我曾Google/Youtubed它,但无法找到一小部分的代码来帮助我在任何地方。这不是家庭作业,我太老了,没有作业,我只是热衷于学习语言的所有方面和所有可以实现的小技巧。 – 2013-03-27 16:26:53