我想问一下,java能解析含有不同分隔符的字符串吗?比如我的字符串是这样的:1:1=ds,1=er,只想要得到除了:,=之外的字符串,该怎么做?谢谢!
解决方案 »
- 如何停止web服务器中一直在运行的一个线程?
- swing 的一个小问题,请大家给帮下忙~
- 未按鼠标 却执行鼠标mousePressed()事件
- for(Employee e : employees)的用法 这是什么意思
- 关于jComboBox的问题?请指教~~
- 请问谁要ORACLE10G和9I的最新的在LINUX下WINDOWS下的全套补丁(尤其是最大的那4个几百兆的),请回贴
- jsp中怎样查看oracle中日志
- ear文件怎么做??
- 主要是: Iinux、 IBM WebSphere 、DB2 VisualAge Java 的内容 请高手指教,谢谢!
- delaying identity-insert due to no transaction in progress
- 想获取一个MP3文件最后的128个字节,这样的代码要怎么写?
- 如何在构造函数之前先执行如下代码?
你这里用Split最简单
String[] str = ":1:1=ds,1=er".split("::,=");
这里的str数组中的就是你想要的
当然也可以使用StringTokenizer.效果一样
这个方法貌似不行,我试过了,解析不出来.我没做过字符串解析的东西,不知道还能怎么做.正则表达式该怎么做啊?谢谢,小女生做程序开发好难啊,很多东西都不知道!
// 记住,一定要让str = str.replaceAll,具体原因你可以看看源码
str = str.replaceAll("[:=,]", "");
System.out.println(str);
因为Split支持正则表达,所以
String[] strs = ":1:1=ds,1=er".split("[::,=]"); 就好了
String str="1:1=ds,1=er";
System.out.println(Arrays.toString(str.split(":|=|,")));
//要去掉特定字符的字符串
String str1 = "1:1=ds,1=er";
Pattern p = Pattern.compile(":|,|=");
Matcher m = p.matcher(str1);
System.out.println(m.replaceAll(""));
//去掉特定字符且分隔成数组
String str2 = "1:1=ds,1=er";
String[] strs = str2.split(":|,|=");
for(String s: strs)
{
System.out.println(s);
}
for (int i=0;i<str.length;i++){
String[] s=str[i].split(":");
}
先断大分类,再断小分类
这样的方法很麻烦且不效率,推荐正则
或者
String.split(":|,|=");这样都可以 分割了。