来帮我分分这个数据字符串.

lihongdian 2008-11-11 04:12:14
string asd ="(0.800,1.800)(1.800,1.210)(230.000,1.640)(300.000,-0.150)";

有上面这么个字符串.

要把他分成数组.

我想了想,似乎Regex.Split(asd,")("

然后再去"("或")"号,再Regex.Split(asd,",")

貌似很郁闷,能不能直接截获中间从第几个字符串到第几个字符串的字符呢?但是有符号.貌似又不行.

请各位高手赐教.
...全文
182 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
我姓区不姓区 2008-11-11
  • 打赏
  • 举报
回复
[Quote=引用 22 楼 lihongdian 的回复:]
楼上的,貌似foreach很耗资源哦.
有没有不用foreach来分的,正则?是不是比string.replace快?
[/Quote]
foreach怎么会耗费资源呢- -!
正则才耗费资源
lihongdian 2008-11-11
  • 打赏
  • 举报
回复
楼上的,貌似foreach很耗资源哦.
有没有不用foreach来分的,正则?是不是比string.replace快?
我姓区不姓区 2008-11-11
  • 打赏
  • 举报
回复

List<string> list = new List<string>();
string asd = "(0.800,1.800)(1.800,1.210)(230.000,1.640)(300.000,-0.150)";
foreach (Match match in Regex.Matches(asd, "\\(([^,]+,[^\\)]+)\\)"))
foreach (string s in match.Groups[1].Value.Split(','))
list.Add(s);

lovehongyun 2008-11-11
  • 打赏
  • 举报
回复
输出:

/*
0.800
1.800
1.800
1.210
230.000
1.640
300.000
-0.150
*/
lovehongyun 2008-11-11
  • 打赏
  • 举报
回复

static void Main(string[] args)
{
string asd = "(0.800,1.800)(1.800,1.210)(230.000,1.640)(300.000,-0.150)";

string str = asd.Replace(")(", ",").Trim('(').Trim(')');

string[] ary = str.Split(',');
foreach (string s in ary)
{
Console.WriteLine(s);
}
Console.ReadKey();
}
criedshy 2008-11-11
  • 打赏
  • 举报
回复
如果只是括号里的,去掉前后的两个( )再按照)(分组


你这个方法不错:)
asd = asd.Replace(")", "");
asd = asd.Remove(0, 1);
string[] ss = asd.Split('(');

如果将里面的数字都拆成数组

asd=asd.SubString(1,asd.length-1);
asd=asd.Replace(")(", ",");
string[] ss = asd.Split(',');
criedshy 2008-11-11
  • 打赏
  • 举报
回复
"(0.800,1.800)(1.800,1.210)(230.000,1.640)(300.000,-0.150)"; 分成怎么样一个数组?
criedshy 2008-11-11
  • 打赏
  • 举报
回复
"(0.800,1.800)(1.800,1.210)(230.000,1.640)(300.000,-0.150)"; 分成怎么样一个数组?
ustbwuyi 2008-11-11
  • 打赏
  • 举报
回复
楼主可真会引砖抛玉
syc958 2008-11-11
  • 打赏
  • 举报
回复
replace后"("这个然后split(")")可以吗
lihongdian 2008-11-11
  • 打赏
  • 举报
回复
呵呵,感谢大家.到头来还是我的办法更胜一筹啊,,刚刚和大家一起做题.是希望得到更多解法.

asd = asd.Replace(")", "");
asd = asd.Remove(0, 1);
string[] ss = asd.Split('(');

这是我的办法

希望以后大家多多交流.
llsen 2008-11-11
  • 打赏
  • 举报
回复
string asd ="(0.800,1.800)(1.800,1.210)(230.000,1.640)(300.000,-0.150)";

要分成()()()格式的
string[] a = asd.Split(')');

然后for(int i = 0;i<a.Length;i++)
{
a[i] = a[i] + ")";
}

如果不带()
asd.Replace('(','');
string[] a = asd.Split(')');
ustbwuyi 2008-11-11
  • 打赏
  • 举报
回复

string asd = "(0.800,1.800)(1.800,1.210)(230.000,1.640)(300.000,-0.150)";
asd = asd.Substring(1, asd.Length - 2);
asd = asd.Replace(")(", "*");
string[] array = asd.Split('*');
baby_cz 2008-11-11
  • 打赏
  • 举报
回复
正则地不会, 笨办法
string asd = "(0.800,1.800)(1.800,1.210)(230.000,1.640)(300.000,-0.150)";
string str = asd.Replace(")(", ",").Replace("(","").Replace(")","");
string[] s = str.Split(",".ToCharArray());
//Response.Write(s.ToString() + "<br>");
foreach (string a in s)
{
Response.Write(a + "<br>");
}
baby_cz 2008-11-11
  • 打赏
  • 举报
回复
笨办法, 正则地不会.
string asd = "(0.800,1.800)(1.800,1.210)(230.000,1.640)(300.000,-0.150)";
string str = asd.Replace(")(", ",").Replace("(","").Replace(")","");
string[] s = str.Split(",".ToCharArray());
//Response.Write(s.ToString() + "<br>");
foreach (string a in s)
{
Response.Write(a + "<br>");
}
尐孑 2008-11-11
  • 打赏
  • 举报
回复
JeffChung 2008-11-11
  • 打赏
  • 举报
回复
先去两边的,两分割

就是这样,不会复杂啊
accomp 2008-11-11
  • 打赏
  • 举报
回复
先去掉头尾的(和),
再Replace(")(",",");
然后以","分组
fffff_1982 2008-11-11
  • 打赏
  • 举报
回复
我觉得是先
吧*( 什么的替换掉,然后再以Split (asd,","

这样的不知道可以吗?
hengyan 2008-11-11
  • 打赏
  • 举报
回复
学习,帮顶
加载更多回复(3)
源码链接: https://pan.quark.cn/s/8ddf8a1c92f9 **libcurl用于获取大型文件**libcurl作为一个开源的C语言库,提供了一系列的API来处理与URL相关的任务,涵盖了HTTP、FTP、SMTP等多种网络协议的应用。在执行大型文件的下载操作时,libcurl展现出卓越的性能表现和高度的灵活性,能够高效地管理大文件传输过程,有效预防内存溢出及其他潜在问题。**libcurl的基础操作**libcurl的基础应用包括以下几个环节:1. **初始化**:需要借助`curl_global_init()`函数来启动libcurl的工作环境。2. **建立会话句柄**:通过`curl_easy_init()`函数创建一个会话句柄,该句柄将用于后续所有的操作流程。3. **配置选项**:运用`curl_easy_setopt()`函数来设定多种参数,例如目标URL、超时时间、重试次数以及数据写入的回调函数等。4. **执行请求**:调用`curl_easy_perform()`函数来实施下载操作。5. **释放资源**:使用`curl_easy_cleanup()`函数来释放已经占用的资源。**获取大型文件时的重要设置**1. **数据写入回调函数**:在处理大型文件下载时,通常不希望一次性将整个文件载入内存。可以配置`CURLOPT_WRITEFUNCTION`选项,指定一个回调函数来处理接收到的数据片段,这样libcurl在接收到数据时会调用该函数,使得我们可以按需将数据写入文件或缓冲区。2. **缓冲策略**:可以设定缓冲区的大小(比如,通过`CURLOPT_BUFFERSIZE`),来控制每次接收数据的数量,从而优化内存...
内容概要:本文档整合了《鬼谷子·决篇》与《三略·审权变第三》《差德行第四》三大古代智慧典籍,构建了一套“决策+形势+用人”三位一体的领导力提升体系。通过28天三合实战路径、三维诊断工具、9个实用模板及独特的“身体锚点”仪式,系统解决管理者在决策犹豫、形势误判、人岗错配等方面的痛点。全文涵盖理论溯源、方法论拆解(如三步决策法、审权变四步法、差德行四步法)、历史案例对照(范蠡 vs 项羽)以及跨资源联动建议,形成从认知到实践的完整闭环。; 适合人群:中基层管理者、创业者、职场进阶者,尤其是面临决策困境、环境适应困难或团队用人问题的人群;具备一定管理经验或自我提升意识的个体亦可受益。; 使用场景及目标:① 提升重大事项的决策质量,避免反复纠结与事后后悔;② 增强对外部环境变化的敏感度与应对能力,实现灵活调整;③ 科学评估人才德才素质,实现人岗精准匹配,减少用人失误;④ 构建个人化的决策-应变-用人标准化流程(SOP)。; 阅读建议:建议按照28天路径逐步实践,结合自测表定位短板,优先突破薄弱模块;配套工具模板需实际填写使用,配合身体锚点仪式强化行为记忆;可与“诸葛亮决策术”“立将威信术”等单品联动,全面提升领导力体系。

62,268

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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