要从字符串"123,-1,苏州XX公司"依次提取整数123,整数-1,字符串"苏州XX公司",如何写代码

fangrk 2008-04-18 08:00:34
以前用C++的,那么可以用stringstream,比如
string str="45,62,hello";
stringstream ss(str);
int a,b;
char ch;
string str;
ss>>a>>ch>>b>>ch>>str;
a,b,str就分别是我想要的东西了,那么用C#如何写呢,谢谢!
...全文
48 点赞 收藏 7
写回复
7 条回复
mohugomohu 2008年04月19日
明明是C#,为什么要用 C++的办法?
回复 点赞
Magic_YJL 2008年04月19日
1楼正解


using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using System.Collections;
using System.Data;
using System.Text.RegularExpressions;
using System.Data.SqlClient;

namespace JustTry
{
class Program
{

static void Main(string[] args)
{

string str = "123,-1,苏州XX公司";
str = str.Replace(",", ","); //因为不是很确定是否是英文跟汉语下的逗号,所以我先替换了一下
string[] array = str.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);//StringSplitOptions.RemoveEmptyEntries可以取消空值
foreach (string s in array)
{
Console.WriteLine(s);
}
Console.ReadLine();
}
}
}

回复 点赞
yourname386 2008年04月19日
一般都用1楼的方法
回复 点赞
fangrk 2008年04月18日
1楼的方法相当于取得子串,然后转换。有没有类似C++的方法?
回复 点赞
huaer1011 2008年04月18日
1楼的可以试试~
回复 点赞
huaer1011 2008年04月18日
帮你UP
回复 点赞
yaojunchen 2008年04月18日
string str = "123,-1,苏州XX公司";
string[] s1;
s1=str.Split(new char[] { ',' }, 3);
int a, b;
a = Int32.Parse(s1[0]);
b = Int32.Parse(s1[1]);
str = s1[2];
这样就可以了
回复 点赞
发动态
发帖子
C#
创建于2007-09-28

8.5w+

社区成员

64.0w+

社区内容

.NET技术 C#
社区公告
暂无公告