怎么把一段字符串分解成单个字符

1001781239 2004-12-30 12:11:13
怎么把一段字符串分解成单个字符
如:中华人12民共abc这个串
我要分成:



1
2


a
b
c


...全文
440 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
ysongwxs 2005-01-14
  • 打赏
  • 举报
回复
Maconel(Maconel) 的方法非常好,我也在处理一个类似的问题!

谢谢了!
1001781239 2004-12-31
  • 打赏
  • 举报
回复
dsfsf
Maconel 2004-12-30
  • 打赏
  • 举报
回复
WideString ws = "中华人12民共abc这个串";
for (int i=0; i<ws.Length(); i++)
ShowMessage(ws.SubString(i+1, 1));

这样就每次显示一个字了。
xuv2002 2004-12-30
  • 打赏
  • 举报
回复
WideString str = WideString("中华人12民共abc这个串");
AnsiString result;
for(int i=0;i<str.Length();i++){
result += WideCharToString(str.SubString(i+1,1));
result+="\n";
}
ShowMessage(result);
constantine 2004-12-30
  • 打赏
  • 举报
回复

void __fastcall TForm1::Button1Click(TObject *Sender)
{
String test("中华人12民共abc这个串");
AnsiString Result;
unsigned char Temp;

for (int i=0; i<test.Length();)
{
Temp = test.c_str()[i];
if (Temp > 0xa0)
{
Result += test.SubString(i+1, 2) + "\n";
i+=2;
}
else
{
Result += test.SubString(i+1, 1) + "\n";
i++;
}
}
ShowMessage(Result);
}
落伍的小农 2004-12-30
  • 打赏
  • 举报
回复
我认为Lonelywolf1899(私は君のことが好きです) 的做法有错误,中文字符应该与英文字符不同需要两个字节吧!要象chiengod(钱神爷) 那样判断,如果中文就加2,英文加1。
同意chiengod(钱神爷)!
flowercity 2004-12-30
  • 打赏
  • 举报
回复
楼上的方法好点
Lonelywolf1899 2004-12-30
  • 打赏
  • 举报
回复
AnsiString S=abc;
S.SubString(1,1) // a
S.SubString(2,1) // b
S.SubString(3,1) // c
chiengod 2004-12-30
  • 打赏
  • 举报
回复
AnsiString s="中华人12民共abc这个串";
AnsiString a="";
int i=0;
while(i<s.Length())
{
if(int(s.c_str()[i])>127||int(s.c_str()[i])<0)
{
a=a+s.c_str()[i]+s.c_str()[i+1]+"\r";
i=i+2;
}
else
{
a=a+s.c_str()[i]+"\r";
i++ ;
}
}

Label1->Caption=a;

13,826

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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