java字符串怎么操作成这样的效果

叽里呱啦
  • 166

比如有这样一些字符串:
H3C18,
H301C108
如何实现分离成
H3C18
H301C108

回复
阅读 1.8k
3 个回答

正则表达式好像可以满足需求

import java.util.LinkedList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Test {
    public static void main(String[] args) {
        System.out.println(tokens("H3C18"));
        System.out.println(tokens("H301C108"));
    }

    private static final Pattern PATTERN = Pattern.compile("[a-zA-Z]\\d+");

    public static List<String> tokens(String text) {
        List<String> result = new LinkedList<>();
        Matcher matcher = PATTERN.matcher(text);

        while (matcher.find()) {
            result.add(matcher.group(0));
        }

        return result;
    }
}

输出

[H3, C18]
[H301, C108]

规律就是“C”,在他身上做文章就好了,这个不难,自己多想想

请勿做伸手党,此类问题都是查API能解决的问题
多思考 多进步

思想就是字符串的切割和查找字符对应的index 。

你知道吗?

宣传栏