求一正则表达式 我想把字符串 10.0x^1 - 6.1x^3 + 10.1x^4 + 34.8x^5 把系数和指数取出来,该怎样拆分呢?比如说拆分成(10.1,1),(-6.1,3)或者其他的,只要能 把系数和指数取出来。谢谢了。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 String str = "10.0x^1 - 6.1x^3 + 10.1x^4 + 34.8x^5"; String regex = "(-?\\s*[\\d.]+)x\\^(-?\\s*\\d)"; Pattern p = Pattern.compile(regex ); Matcher match = p.matcher(str); while(match.find()) { System.out.println("("+match.group(1)+","+match.group(2)+")"); } public static void main(String[] args) { String s="10.0x^1 - 6.1x^3 + 10.1x^4 + 34.8x^5"; String sa[]=s.split("(\\+|-){1}"); String flg; String m,n; for(String st:sa){ flg=st.trim(); m=flg.substring(0, flg.indexOf("x")); n=flg.substring(flg.indexOf("^")+1,flg.length()); System.out.println("系数:"+m +" 指数:"+n); } }系数:10.0 指数:1系数:6.1 指数:3系数:10.1 指数:4系数:34.8 指数:5 String str = "10.0x^1 - 6.1x^3 + 10.1x^4 + 34.8x^5"; String regex = "(-?\\s*[\\d.]+)x\\^(-?\\s*[\\d.]+)"; Pattern p = Pattern.compile(regex ); Matcher match = p.matcher(str); while(match.find()) { System.out.println("("+match.group(1)+","+match.group(2)+")"); }刚才的有点问题 变成难不难呀 为甚麽会有/(jsp) 用JAVA和XML构建分布式系统 JAVA开发 关于电脑非正常关机以后,MyEclipse中项目报错的问题 怎以截取一个网页上面的特定数据 那位高手测试过各主流邮件服务器的相关参数 菜鸟疑问:第一天学struts的疑问 websphere 5.1 支持 el表达式语言吗? 在java门口撞了个大包:关于Exception的一个简单问题 多个CMP对一个SessionBean好,还是一个CMP对一个SessionBean好? s:if 中如何调用js函数 关于敏感词库、黑名单之类的过滤问题,求救!!!!!!
String str = "10.0x^1 - 6.1x^3 + 10.1x^4 + 34.8x^5";
String regex = "(-?\\s*[\\d.]+)x\\^(-?\\s*\\d)";
Pattern p = Pattern.compile(regex );
Matcher match = p.matcher(str);
while(match.find())
{
System.out.println("("+match.group(1)+","+match.group(2)+")");
}
public static void main(String[] args) {
String s="10.0x^1 - 6.1x^3 + 10.1x^4 + 34.8x^5"; String sa[]=s.split("(\\+|-){1}");
String flg;
String m,n;
for(String st:sa){
flg=st.trim();
m=flg.substring(0, flg.indexOf("x"));
n=flg.substring(flg.indexOf("^")+1,flg.length());
System.out.println("系数:"+m +" 指数:"+n);
}
}系数:10.0 指数:1
系数:6.1 指数:3
系数:10.1 指数:4
系数:34.8 指数:5
String str = "10.0x^1 - 6.1x^3 + 10.1x^4 + 34.8x^5";
String regex = "(-?\\s*[\\d.]+)x\\^(-?\\s*[\\d.]+)";
Pattern p = Pattern.compile(regex );
Matcher match = p.matcher(str);
while(match.find())
{
System.out.println("("+match.group(1)+","+match.group(2)+")");
}刚才的有点问题