遇到字母换行输出的问题,谢谢

随意输入字符串,例如“我是Java程序员已经有3.5年的工作经验了”,把结果输出为:
我是
Java
程序员已经有
3.5
年的工作经验了

对字符串进行一下处理就行了 传入字符串 用正则表达式去判断字符串中是否存在字母(数字) 然后截取出来还是 怎样分开处理方法就很多了

public static void main(String[] args) {
System.out.print("我是\nJava\n程序员已经有\n3.5\n年的工作经验了");
}

string str = "我是Java程序员已经有3.5年的工作经验了";
str = Regex.Replace(str, "([a-zA-Z]+)|([0-9]+[.][0-9]+)|([0-9]+)", "\r\n" + "$0" + "\r\n");
Console.WriteLine(str);

String str = "我是Java程序员已经有3.5年的工作经验了";
Pattern pattern = Pattern.compile("^[a-zA-Z0-9.]*$");
StringBuffer sb=new StringBuffer();
boolean flag=false;
for (int i = 0; i < str.length(); i++) {
String s=str.substring(i, i+1);
if (pattern.matcher(s).matches()) {
if (!flag) {
sb=sb.append("\r\n"+s);
}else {
sb=sb.append(s);
}
flag=true;

        }else {
            if (flag) {
                sb=sb.append("\r\n"+s);
            }else {
                sb=sb.append(s);
            }
            flag=false;

        }

    }
    System.out.println(sb);

题目描述不清,3.5是字母?

string str = "我是Java程序员已经有3.5年的工作经验了";
str = Regex.Replace(str, "([a-zA-Z]+)|([0-9]+.[0-9]+)|([0-9]+)", "\r\n" + "$0" + "\r\n");
Console.WriteLine(str);