社区
Java SE
帖子详情
询问一个字符串处理的最优方法
student3366
2007-08-29 10:55:40
有一个字符串类似于:String str="hd0$jfsfi$fjjaio%jsfij$jsfsjf%jsjg#"
其中$和%为分隔符,#为结束符。
我想从该字符串中提取子串如:hd0,jfsfi,jjaio等进行处理。
问:怎么拆分处理这个字符串速度最快?
...全文
257
10
打赏
收藏
询问一个字符串处理的最优方法
有一个字符串类似于:String str="hd0$jfsfi$fjjaio%jsfij$jsfsjf%jsjg#" 其中$和%为分隔符,#为结束符。 我想从该字符串中提取子串如:hd0,jfsfi,jjaio等进行处理。 问:怎么拆分处理这个字符串速度最快?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
tdy1234
2007-08-30
打赏
举报
回复
LS兄弟艘说的差不多了 不说了JF
student3366
2007-08-30
打赏
举报
回复
感谢这么多兄弟的参与,我很知足。
其实我也知道拆分并不难,只是想找一种速度最快的方法,因为拆分语句要在我的程序里一直频繁的执行。有时候我也怀疑split的效率...
empireconquer
2007-08-29
打赏
举报
回复
StringTokenizer st =new StringTokenizer("hd0$jfsfi$fjjaio%jsfij$jsfsjf%jsjg#", "%$#");
while(st.hasMoreElements())
{
System.out.println(st.nextElement());
}
student3366
2007-08-29
打赏
举报
回复
哦,谢谢提示,不过初学java,不太理解正则表达式。
我的字符串里有多个分隔符号,但是split方法只提供一个字符串参数,可不可以这样?
String[] strSplit = str.split("$%#");
另外,对于这样的字符串:"$sjlf$%$%#",该方法又是怎么处理的?
tricolors
2007-08-29
打赏
举报
回复
先用$分隔,再用%分子串
godfather521
2007-08-29
打赏
举报
回复
调用 字符串的拆分方法 split 返回一个字符串数组 String[] strSplit = str.split("$");
在对数组处理
malligator
2007-08-29
打赏
举报
回复
str.substring(0, str.indexOf("#")).split("\\$|\\%");
chenyifei211
2007-08-29
打赏
举报
回复
楼上这段代码: for(String t : s) {
System.out.println(t);
低版本不兼容,我觉得用for(int i=0;i<s.length;i++) {
System.out.println(s[i]);并不比楼上的差多少
chenyifei211
2007-08-29
打赏
举报
回复
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
// TODO 自动生成方法存根
String str="hd0$jfsfi$fjjaio%jsfij$jsfsjf%jsjg#";
String[] s = str.split("\\$|%|#");
for(int i=0;i<s.length;i++) {
System.out.println(s[i]);
}
Pattern p = Pattern.compile("(\\w*)\\$*|(\\w*)%*|(\\w*)#*");
Matcher m = p.matcher("hd0$jfsfi$fjjaio%jsfij$jsfsjf%jsjg#");
while(m.find())
System.out.println(m.group(1));
}
}
上段代码两种方式都有
火龙果被占用了
2007-08-29
打赏
举报
回复
一楼的方法中存在错误,“$”是正则表达式的专用符号需要转义改为“\\$”。
二楼的方法也不好,要分好几次转,这样会产生很多的数组。
我的建议代码:
String str="hd0$jfsfi$fjjaio%jsfij$jsfsjf%jsjg#";
String[] s = str.split("\\$|%|#$");
for(String t : s) {
System.out.println(t);
}
U盘程序C++源码
1. **C++
字符串
处理
库**: C++标准库提供了丰富的
字符串
处理
功能,包括
字符串
搜索、替换、分割等,例如`std::string`类的成员函数`find`, `replace`, `substr`等。 2. **系统命令调用**: 在C++中可以通过`system`...
GDKOI TG DAY2.pdf
2. **查找
最优
分割点**:遍历
字符串
,找到
最优
的分割点,使得分割后的两部分尽可能相同,从而利用对折复制减少工作量。 3. **计算总成本**:基于
最优
分割点计算出总成本。 **时间复杂度分析**:本题的主要时间消耗...
字符串
Tz养了一群仓鼠,他们都有英文小写的名字,现在Tz想用
一个
字母序列来表示他们的名字,只要他们的名字是字母序列中的
一个
子串就算,出现多次可以重复计算。现在Tz想好了要出现多少个名字,请你求出最短的字母序列的...
buctoj2021年ACM竞赛班训练(七)题解
双方都足够聪明,会按
最优
的方式来游玩,无法行动的人输掉该游戏(等价说法:取走最后
一个
石子的人赢)。 思路: 设 f(i) 表示在 i 堆石子时,当前操作的玩家是否有必胜策略。f(i)=true 为必胜,否则必败。 初始时,...
LeetCode 第206场周赛 题解
检查
字符串
是否可以通过排序子
字符串
得到另
一个
字符串
d.题目d.分析d.参考代码 a.二进制矩阵中的特殊位置 a.题目 给你
一个
大小为 rows x cols 的矩阵 mat,其中 mat[i][j] 是 0 或 1,请返回 矩阵 mat 中特殊...
Java SE
62,623
社区成员
307,257
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章