社区
C++ Builder
帖子详情
分割字符串问题
stbigcrab
2006-09-26 03:52:56
请教下各位前辈
下面类似的字符串如何分割?
'1' '2' '3' '4'
我想把1,2,3,4提取出来,但是小弟水平不够,请各位指教
...全文
168
11
打赏
收藏
分割字符串问题
请教下各位前辈 下面类似的字符串如何分割? '1' '2' '3' '4' 我想把1,2,3,4提取出来,但是小弟水平不够,请各位指教
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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个常用工具类 程序源码
代码为博客实例代码,有
问题
博客留言:http://blog.csdn.net/lmj623565791/article/details/38965311
Java split根据“.“
分割
字符串
问题
Java split根据"."
分割
字符串
问题
1. 为啥str.split(".")
分割
出来的是空的2. Java中的转义字符 Escape Character3. 正则表达式中的转义符举例 1. 为啥str.split(“.”)
分割
出来的是空的 split() 方法根据匹配给定的正则表达式来拆分
字符串
。 注意: . $ | * 等转义字符,必须得加 \\。 因此,应该用str.split(“\\.”) 2. Java中的转义字符 Escape Character 字母前加上"\"来表示一些不
以竖线
分割
字符串
问题
在java/android 中当使用split方法
分割
字符串
时,如果使用“|”作为分隔符,在使用split方法直接这样写.split("|");会得到错误的结果。 在网上搜索的结果基本上的解法是写成.split("\\|");。在此新加一种解决方式,即使用正则表达式中Pattern中的quote(String s)方法:.split(Pattern.quote("|"));。 注意:除了使用“
java正则表达式
分割
字符串
_Java开发笔记(三十七)利用正则串
分割
字符串
前面介绍了处理
字符串
的常用方法,还有一种
分割
字符串
的场景也很常见,也就是按照某个规则将
字符串
切割为若干子串。
分割
规则通常是指定某个分隔符,根据
字符串
内部的分隔符将
字符串
进行
分割
,例如逗号、空格等等都可以作为
字符串
的分隔符。正好String类型提供了split方法用于切割
字符串
,只要
字符串
变量调用split方法,并把分隔符作为输入参数,该方法即可返回
分割
好的
字符串
数组。下面的split调用代码例子演...
回溯——
分割
字符串
问题
题目一:131.
分割
回文串 给你一个
字符串
s,请你将 s
分割
成一些子串,使每个子串都是 回文串 。返回 s 所有可能的
分割
方案。 回文串 是正着读和反着读都一样的
字符串
。 解法:回溯+剪枝 递归用来纵向遍历,for循环用来横向遍历,切割线(就是图中的红线)切割到
字符串
的结尾位置,说明找到了一个切割方法。 此时可以发现,切割
问题
的回溯搜索的过程和组合
问题
的回溯搜索的过程是差不多的。 代码和提交结果如下: class Solution { public List<L.
C++ Builder
13,871
社区成员
102,694
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章