社区
C++ Builder
帖子详情
分割字符串问题
stbigcrab
2006-09-26 03:52:56
请教下各位前辈
下面类似的字符串如何分割?
'1' '2' '3' '4'
我想把1,2,3,4提取出来,但是小弟水平不够,请各位指教
...全文
176
11
打赏
收藏
分割字符串问题
请教下各位前辈 下面类似的字符串如何分割? '1' '2' '3' '4' 我想把1,2,3,4提取出来,但是小弟水平不够,请各位指教
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
stbigcrab
2006-09-26
打赏
举报
回复
keiy确实正解
xyz_789也正确
谢谢大家
其他代码就没有测试过,回头再努力研究大家的代码
谢谢各位的热心!
mozart007
2006-09-26
打赏
举报
回复
比如你得到待拆的数组是 xxxx
char *rip_char; //存放要拆的每一个数字
int ripped_number=0; //存放拆出了几个数
rip_char = (char *) malloc( strlen(xxxx) );
for (int i=0; i<strlen(xxxx);i++) //遍历每一个char,是数字的就提出来,楼主要的这样吗?
{if( (xxxx[i]>='0')&&(xxxx[i]<='9') || (xxxx[i]>='A')&&(xxxx[i]<='Z') || (xxxx[i]>='a')&&(xxxx[i]<='z') )
{rip_char[ripped_number]=xxxx[i];
ripped_number++;
}
}
//这样就可以,rip_char[ripped_number] 记录每个提出的字符
柯本
2006-09-26
打赏
举报
回复
用BCB的TRegexp 更灵活些:
#include <regexp.h>
...
void __fastcall TForm1::Button1Click(TObject *Sender)
{
TRegexp *p=new TRegexp("[^ ']+");
char x[]="'A' '1' '2' 'B'";
int s;
unsigned int l;
s=l=0;
char buff[10];
while(1)
{
s=p->find(x,&l,s+l);
if (s==-1)
break;
strncpy(buff,x+s,l);
buff[l]=0;
Memo1->Lines->Add(buff);
}
}
更复杂的,可用boost的正则表达式库,什么都能做了
柯本
2006-09-26
打赏
举报
回复
AnsiString Str="'A' '1' '2' 'B'";
TStringList *t=new TStringList();
t->Delimiter='\'';
t->DelimitedText=Str;
for (int i=0;i<t->Count;i++)
if (t->Strings[i]!="")
Memo1->Lines->Add(t->Strings[i]);
delete t;
//结果在Memo1->Lines->Sttring[0..3]中,分别为A 1 2 B
stbigcrab
2006-09-26
打赏
举报
回复
是这样的
有一串字符
AnsiString Str="'A' '1' '2' 'B'";
要求的是把
A
1
2
B
独立提取出来作为字符串。
stbigcrab
2006-09-26
打赏
举报
回复
爆寒,刷新一下这么多人回复..
小弟马上测试.
wood542344
2006-09-26
打赏
举报
回复
楼上正解。。
柯本
2006-09-26
打赏
举报
回复
多种方法,但用TStringList的DelimitedText最方便
TStringList *t=new TStringList();
t->Delimiter='\'';
t->DelimitedText="'1' '2' '3' '4'";
int m[4];
int j=0;
for (int i=0;i<t->Count;i++)
if (t->Strings[i]!="")
m[j++]=StrToInt(t->Strings[i]);
delete t;
结果:
//m[0]=1,m[1]=2,m[2]=3,m[3]=4
xyz_789
2006-09-26
打赏
举报
回复
AnsiString k,Str;
k = "'1''2''3''4'";
while(k.Pos("''")!=0)
{
Str = k.SubString(2,1);
Memo1->Lines->Add(Str);
k = k.Delete(1,3);
}
Str = k.SubString(2,1);
Memo1->Lines->Add(Str);
mozart007
2006-09-26
打赏
举报
回复
比如你得到待拆的数组是 xxxx
char *rip_char; //存放要拆的每一个数字
int ripped_number=0; //存放拆出了几个数
rip_char = (char *) malloc( strlen(xxxx) );
for (int i=0; i<strlen(xxxx);i++) //遍历每一个char,是数字的就提出来,楼主要的这样吗?
{if{ (xxxx[i]>='0')||(xxxx[i]<='9')
{rip_rip_char[ripped_number]=xxxx[i];
ripped_number++;
}
}
BlueDeepOcean
2006-09-26
打赏
举报
回复
楼主说的不是很清楚,你的字符串到底是什么样子的?
如果单纯地“1234”分割为“1”、“2”、“3”和“4”的话,则可采用SubString的方式,否则的话,处理方法可能不同。
以“1234”为例:
AnsiString O,T,Tr,F,As;
As = "1234";
O = As.SubString(1,1);
T = As.SubString(2,1);
Tr = As.SubString(3,1);
F = As.SubString(4,1);
Android快速开发系列 10个常用工具类 程序源码
1. **StringUtil**:
字符串
处理工具类,包括
字符串
格式化、拼接、
分割
、校验等操作。例如,它可能提供检查
字符串
是否为空,转换首字母大写或小写,以及去除
字符串
两端的空白字符等方法。 2. **DateUtil**: 时间日期...
Java split根据“.“
分割
字符串
问题
Java split根据"."
分割
字符串
问题
1. 为啥str.split(".")
分割
出来的是空的2. Java中的转义字符 Escape Character3. 正则表达式中的转义符举例 1. 为啥str.split(“.”)
分割
出来的是空的 split() 方法根据匹配给定的...
以竖线
分割
字符串
问题
在java/android 中当使用split方法
分割
字符串
时,如果使用“|”作为分隔符,在使用split方法直接这样写.split("|");会得到错误的结果。 在网上搜索的结果基本上的解法是写成.split("\\|");。在此新加一种解决方式,...
java正则表达式
分割
字符串
_Java开发笔记(三十七)利用正则串
分割
字符串
前面介绍了处理
字符串
的常用方法,还有一种
分割
字符串
的场景也很常见,也就是按照某个规则将
字符串
切割为若干子串。
分割
规则通常是指定某个分隔符,根据
字符串
内部的分隔符将
字符串
进行
分割
,例如逗号、空格等等都...
回溯——
分割
字符串
问题
给你一个
字符串
s,请你将 s
分割
成一些子串,使每个子串都是 回文串 。返回 s 所有可能的
分割
方案。 回文串 是正着读和反着读都一样的
字符串
。 解法:回溯+剪枝 递归用来纵向遍历,for循环用来横向遍历,...
C++ Builder
13,874
社区成员
102,696
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章