社区
C++ Builder
帖子详情
一个比较麻烦的字符串问题
bit_hj
2003-08-20 11:37:25
请问怎样将这个字符串分开。
a.添加;b.修改;c.删除;d.查看
他们是以;分开的
请问怎样可以将这个长字符串分开(以;分开)
分成
a.添加
b.修改
c.删除
d.查看
这四个子字符串。
字串个数不一定是四个。
...全文
64
11
打赏
收藏
一个比较麻烦的字符串问题
请问怎样将这个字符串分开。 a.添加;b.修改;c.删除;d.查看 他们是以;分开的 请问怎样可以将这个长字符串分开(以;分开) 分成 a.添加 b.修改 c.删除 d.查看 这四个子字符串。 字串个数不一定是四个。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yydy
2003-08-20
打赏
举报
回复
:)
freshman2003
2003-08-20
打赏
举报
回复
哈哈,被人抢了行。
freshman2003
2003-08-20
打赏
举报
回复
用AnsiPos()取得“;”的位置,用SubString()提取子串。
free1949
2003-08-20
打赏
举报
回复
string Source("a.添加;b.修改;c.删除;d.查看;.....");
string temp("");
int Pos=Source.Pos(";");//获得第一个“;”位置
if(Pos!=0) //是否存在分隔符号“;”
{
do
{
temp=Source.SubString(1,Pos);//得到分开的串
Source.delete(1,Pos+1);//删除已取出的串和“;”
Pos=Source.Pos(";"); //重新获得第一个“;”位置
}while(Pos!=0)
}
江山易改
2003-08-20
打赏
举报
回复
你是要分成四个字符串吗?
zjqyb
2003-08-20
打赏
举报
回复
ExtractString
Santos
2003-08-20
打赏
举报
回复
用TStringList吧,它缺省的分隔字符为空格或逗号,所以你只要将"a.添加;b.修改;c.删除;d.查看"改为"a.添加 b.修改 c.删除 d.查看"或"a.添加,b.修改,c.删除,d.查看"即可。
TStringList要这样用:
TStringList *MyStringList = new TStringList();
try
{
MyStringList->CommaText = "a.添加, b.修改, c.删除, d.查看";
}
__finally
{
delete MyStringList;
}
Caption = MyStringList->Count; //-- 此处Count值为4
祝你好运!
kmfangxun
2003-08-20
打赏
举报
回复
建议用标准函数 strtok(char*,";");头文件:stdlib.h;帮助上有例.
lvjack
2003-08-20
打赏
举报
回复
TStringList *Strs= new TStringList;
Strs->Delimiter = ';';
Strs->DelimitedText = "a.添加;b.修改;c.删除;d.查看";
ShowMessage(IntToStr(Strs->Count));
for (int i=0;i<Strs->Count;i++)
{
ShowMessage(Strs->Strings[i]);
}
或者(代码不是我写的)
//用标准库的vector和string
#include <vector>
#include <string>
#include <iostream>
using namespace std;
vector<string> *split(string& sLine, char flag)
{
vector<string> *psvect=new vector<string>;//string数组的指针
string::size_type pos=0,prev_pos=0;
while( (pos=sLine.find_first_of(flag,pos))!=string::npos)
{
psvect->push_back(sLine.substr(prev_pos,pos-prev_pos));
prev_pos = ++pos;
}
psvect->push_back(sLine.substr(prev_pos,pos-prev_pos));//处理最后一段
return psvect;
}
int main(int argc, char* argv[])
{
string s="2003-7-1";
vector<string> *psvect; //string数组的指针
psvect=split(s,'-');
for( unsigned int i=0; i<psvect->size(); i++)
{
cout<< (*psvect)[i]<<endl;
}
delete psvect;
cin.get();
return 0;
}
//---------------------------------------------------------------------------
windlyzhang
2003-08-20
打赏
举报
回复
AnsiString Source="a.添加;b.修改;c.删除;d.查看;";
String str1=SubStr(Source);//str1=a.添加
String str2=SubStr(Source);//str2=ab.修改
String str3=SubStr(Source);//str3=c.删除
String Str4=SubStr(Source);//str4=d.查看
String __fastcall TFrmField::SubStr(String &Source,String Des)
{
int pos=Source.Pos(Des);
if(pos==0) return Source;
int len=Source.Length();
String SubString=Trim(Source.SubString(1,pos-1));
Source=Trim(Source.SubString(pos+1,len-pos));
return SubString;
}
Cocoky
2003-08-20
打赏
举报
回复
这样行
这样不知道行不行:
AnsiString Source="a.添加;b.修改;c.删除;d.查看;.....";
AnsiString temp[MAX];
int tempcount = 0;
char *chr;
chr = Source.c_str();
for(int i=0, tempcount = 0;i<Source.Length();i++)
{
if(chr[i]!=';')
{
temp[tempcount] += chr[i];
}
else
{
tempcount ++;
}
}
Python 47个
字符串
方法
# Python 47个
字符串
方法## 课程介绍同学们是否总是要搜资料、查官网后,才知道怎么操作
字符串
?如果是,来学学本课程吧,本课程以讲解官网文档的方式,讲解 Python 47个
字符串
方法,涉及替换、删除、连接、查找、...
C++
字符串
与字符数组 详解
在C++中,有两种类型的
字符串
表示形式: ...因此,
一个
以 null 结尾的
字符串
,包含了组成
字符串
的字符。 下面的声明和初始化创建了
一个
“Hello”
字符串
。由于在数组的末尾存储了空字符,所以...
字符串
数字的
比较
问题
字符串
类型的数字
比较
大小是从第一位开始
比较
其在字符编码中对应的数值大小,相等则继续
比较
第二位,不相等就是数值大的为大。 打印
字符串
ASCII码可以使用charCodeAt 这里,1的编码小于5,所以'500'>1000。 所
python如何读取
字符串
最后
一个
字符_python 获取
字符串
最后
一个
字符
因为序列类型是元素被顺序放置的一种数据结构,因此可以通过索引来获取某
一个
字符,或者指定索引范围来获取一...st=asdfgprint(st)gfds
字符串
分片的索引,索引的起始位置i,索引结束位置j,和步长k均可以省略,省略i...
java
字符串
包含_Java算法——判断
一个
字符串
是否包含另
一个
字符串
的所有字符...
问题
描述:
比较
两个
字符串
A和B,确定A中是否包含B中所有的字符。
字符串
A和B中的字符都是 大写字母。样例给出 A = "ABCD" B = "ACD",返回 true给出 A = "ABCD" B = "AABC", 返回 false注意事项在 A 中出现的 B 字符...
C++ Builder
13,824
社区成员
102,679
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章