社区
C#
帖子详情
关于拆分字符串的效率问题。
faygoo
2002-09-10 04:09:32
String str = "a|b|c|"
拆成一个字符串数组 String[] strArray = {"a", "b", "c"}
我按照基本的方法:
就是做一个循环,
先用str.indexOf()找出“|”位置,
再用str.subString() 取得到相应的字符串。
但是,当str中"|"出现的次数达到20000次以上时,耗时要达到2分钟以上。
请问各位有没有更好的方法去解决这个问题?
我对正则表达式不懂,是不是可以用它来解决?
谢谢
...全文
69
7
打赏
收藏
关于拆分字符串的效率问题。
String str = "a|b|c|" 拆成一个字符串数组 String[] strArray = {"a", "b", "c"} 我按照基本的方法: 就是做一个循环, 先用str.indexOf()找出“|”位置, 再用str.subString() 取得到相应的字符串。 但是,当str中"|"出现的次数达到20000次以上时,耗时要达到2分钟以上。 请问各位有没有更好的方法去解决这个问题? 我对正则表达式不懂,是不是可以用它来解决? 谢谢
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
qqchen79
2002-09-11
打赏
举报
回复
>> 当str中"|"出现的次数达到20000次以上时,耗时要达到2分钟以上。
这还是你的程序有问题. :)
如果循环正确的话,整个过程也只是遍历字符串一次,复杂度O(n),怎么回两分钟?
关键是每次IndexOf要从上次的位置开始,而不是从头开始。
IndexOf有一个重载形式,带一个int参数表示起始位置的。
faygoo
2002-09-11
打赏
举报
回复
思归,和 知秋一叶, 佩服佩服。
希望你们能经常上这个论坛来,答疑解惑。
yarshray
2002-09-10
打赏
举报
回复
不愧是思归就是厉害!
tansm
2002-09-10
打赏
举报
回复
Good
saucer
2002-09-10
打赏
举报
回复
String[] list = str.Split(new Char[]{'|'});
or
String[] list = System.Text.RegularExpressions.Regex.Split(str,"|");
faygoo
2002-09-10
打赏
举报
回复
是吗?
谁能告诉如果用正则表达式如何分解?str是一行的,以“|”结尾。
谢谢各位。最好能给出代码。
yarshray
2002-09-10
打赏
举报
回复
用stringBuilder会快一些!
JAVA近百种算法大全
最近找到的JAVA近百种算法大全 分享一下 java算法大全,有近100多种常见算法的源代码,是学习JAVA算法的难得资料,需要的童鞋来下载吧!
PHP完全自学手册
PHP完全自学手册(PDF),带你快速入门PHP,简单易学
【SQL开发实战技巧】系列(十):从
拆分
字符串
、替换
字符串
以及统计
字符串
出现次数说起
本篇文章讲解的主要内容是:***遍历
拆分
字符串
为单个字符、
字符串
中包含引号如何转译(q-quote特性)、计算字符在
字符串
中出现的次数、使用translate从
字符串
中快速删除替换不需要字符的巧妙写法、使用正则表达式regexp_replace将字符和数字数据分离、使用正则表达式regexp_like查询只包含数字或字母型的数据***
C++_
字符串
拆分
效率
比对记录
字符串
拆分
效率
比对记录 目录
字符串
拆分
效率
比对记录 概述
拆分
函数 使用regex 使用C函数strtok 使用stringstream 使用string库函数 结果 测试程序 测试结果 概述 自定义
字符串
拆分
函数,分别处理同样的文本文件(超过百万行)统计各
拆分
函数的
效率
。
拆分
函数 使用regex std::vector<std::string> SplitString(const std::string& in_str, const std:
oracle根据特定字符
拆分
字符串
的方法
清洗数据需要将某个字段内以空格分隔的
字符串
拆分
成多行单个的
字符串
,百度了很多种方法大概归结起来也就这几种方法最为有效,现在把贴出来: 第一种: select regexp_substr('1 2 3','[^ ]+',1,level,'i') from dual connect by level <= length('1 2 3') -length(regexp_replac...
C#
111,093
社区成员
642,554
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章