在线求助,想获取一串字符中两个$$之间所有的内容

shan__le 2011-09-07 03:28:28
insert into blob_fjsc(blob_wid,blob_mkmc,blob_data,blob_scsj,blob_fjmc,blob_scr) values('$blob_wid$','$blob_mkmc$','$blob_data$',$blob_scsj$','$blob_fjmc$','$blob_scr$')
这里有有6个变量在$$之间,我如何将这串字符中所有$$之间的内容获取到?
String aa[]=strphns.split("$");
原来想用这个方法貌似不对
求助写法。
...全文
236 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
teemai 2011-09-07
  • 打赏
  • 举报
回复

String s = "'$blob_wid$','$blob_mkmc$','$blob_data$','$blob_scsj$','$blob_fjmc$','$blob_scr$'";
String[] array = s.replace("'$", "").replace("'", "").replace(",", "").split("\\$");

for(String str:array){
System.out.println(str);
}
shan__le 2011-09-07
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 huangchenliang 的回复:]
Java code
String str = "insert into blob_fjsc(blob_wid,blob_mkmc,blob_data,blob_scsj,blob_fjmc,blob_scr) values('$blob_wid$','$blob_mkmc$','$blob_data$',$blob_scsj$','$blob_fjmc$','$blob_scr$')";
……
[/Quote]
这哥们给的是正解,谢谢了,分给你了
shan__le 2011-09-07
  • 打赏
  • 举报
回复
刚才有点事情处理一下,我看看那个哥们给的代码
sxd05 2011-09-07
  • 打赏
  • 举报
回复
楼上的方法简单明了.
飓风zj 2011-09-07
  • 打赏
  • 举报
回复
或者replaceAll("$","");这个比较简单
飓风zj 2011-09-07
  • 打赏
  • 举报
回复
substring 肯定是可以的
OnEstepEnD 2011-09-07
  • 打赏
  • 举报
回复
和楼上各位差不多的想法,先用$分割,然后再处理下分割的数组就行了。
完美灬缺陷 2011-09-07
  • 打赏
  • 举报
回复
String str = "insert into blob_fjsc(blob_wid,blob_mkmc,blob_data,blob_scsj,blob_fjmc,blob_scr) values('$blob_wid$','$blob_mkmc$','$blob_data$',$blob_scsj$','$blob_fjmc$','$blob_scr$')";
String ss = str.substring(str.indexOf("$") - 1,
str.lastIndexOf("$") + 2);
String[] arys = ss.split("\\,");

List<String> list = new ArrayList<String>();

for (int i = 0; i < arys.length; i++)
{
String temp = arys[i];

String date = temp.substring(temp.indexOf("$") + 1,
temp.lastIndexOf("$"));

list.add(date);

}
System.out.println(list);
shan__le 2011-09-07
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 wangquanzheng 的回复:]
String s = "$blob_scsj$";
String ss = s.substring(s.indexOf("$") + 1,s.lastIndexOf("$"));
System.out.println(ss);
[/Quote]
你这样能取得一个,我要获取到6个的同时还要取得这串里面包含6个的数字,也就是最好直接用数组去获取,这样我就能取得数组的长度了。
shan__le 2011-09-07
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 a1298071341 的回复:]
你应该是想获取这六个变量的值吧?他们的来源是什么?
[/Quote]
他们的来源是从另外一个sql里面得到的,就是名字是一样的,不过是一个执行的是查询,另外一个则可能是插入,也可能是更新,这说不准。
安心逍遥 2011-09-07
  • 打赏
  • 举报
回复
String s = "$blob_scsj$";
String ss = s.substring(s.indexOf("$") + 1,s.lastIndexOf("$"));
System.out.println(ss);
shan__le 2011-09-07
  • 打赏
  • 举报
回复
不是,你们没弄明白,我取$$之间的内容是另外做用处,不是直接运行这个sql,取出来的变量要从另外一个表中获取数据,这$$之间的内容还要清理掉,是变量。
xin4210256 2011-09-07
  • 打赏
  • 举报
回复
那就不用$这个符号了~~就用最基本最简单的'"+内容+"'这个形式吧

insert into blob_fjsc(blob_wid)values('"+blob_wid+"');
brightyq 2011-09-07
  • 打赏
  • 举报
回复
例:

String s = "$blob_scsj$";
String ss = s.substring(s.indexOf("$") + 1,s.lastIndexOf("$"));
System.out.println(ss);
影竹 2011-09-07
  • 打赏
  • 举报
回复
你应该是想获取这六个变量的值吧?他们的来源是什么?
我嘞个去 2011-09-07
  • 打赏
  • 举报
回复
String aa[]=strphns.split("$");
这样是将字符串以"$" 分割成数组
用正则可能会比较简介
如果正则头大的话 当然也可以用String 自带的方法 一步一步解析吧!

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧