C#截取字符串咋办?

f1305147 2011-05-05 03:39:46
VB6截取字符串很简单。直接用mid,right,left等字符串处理函数即可。
而C#没有这些函数,咋办呢?
...全文
1866 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
山东蓝鸟贵薪 2011-10-13
  • 打赏
  • 举报
回复
我也学习到这里了,谢谢分享,整理整理
xixihaha_2011_098 2011-05-06
  • 打赏
  • 举报
回复
Substring 灵活使用,功能也是很强大的
MOTA 2011-05-06
  • 打赏
  • 举报
回复
string str="123abc456";
int i=3;
1 取字符串的前i个字符
str=str.Substring(0,i); // or str=str.Remove(i,str.Length-i);
2 去掉字符串的前i个字符:
str=str.Remove(0,i); // or str=str.Substring(i);
3 从右边开始取i个字符:
str=str.Substring(str.Length-i); // or str=str.Remove(0,str.Length-i);
4 从右边开始去掉i个字符:
str=str.Substring(0,str.Length-i); // or str=str.Remove(str.Length-i,i);
5 判断字符串中是否有"abc" 有则去掉之
using System.Text.RegularExpressions;
string str = "123abc456";
string a="abc";
Regex r = new Regex(a);
Match m = r.Match(str);
if (m.Success)
{
//绿色部分与紫色部分取一种即可。
str=str.Replace(a,"");
Response.Write(str);
string str1,str2;
str1=str.Substring(0,m.Index);
str2=str.Substring(m.Index+a.Length,str.Length-a.Length-m.Index);
Response.Write(str1+str2);
}
6 如果字符串中有"abc"则替换成"ABC"
str=str.Replace("abc","ABC");
woshiliourun 2011-05-06
  • 打赏
  • 举报
回复
上面讲的很清楚··来晚了··顶下·
雪饮 2011-05-06
  • 打赏
  • 举报
回复
SubString 结合 LastIndexOf 和IndexOf 就可以实现了
String str = "1234567890";
str.Substring(0,5);//从str字符串的0位置开始的5个字符,结果为:12345
MessageBox.Show(str.Substring(0, 5));
str.Substring(str.IndexOf("3"), str.LastIndexOf("5"));//从str字符串的3位置的索引(2)开始的最后一个“5”位置索引(4)个数的字符(简单说就是3以后的4个字符),结构为:3456
MessageBox.Show(str.Substring(str.IndexOf("3"), str.LastIndexOf("5")));
play1982 2011-05-06
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 qindanloves 的回复:]
string str="123abc456";
int i=3;
1 取字符串的前i个字符
str=str.Substring(0,i); // or str=str.Remove(i,str.Length-i);
2 去掉字符串的前i个字符:
str=str.Remove(0,i); // or str=str.Substring(i);
3 从右边开始取i个字符:
……
[/Quote]
+1
happy20101027 2011-05-06
  • 打赏
  • 举报
回复
substring split
Journey_ZZ 2011-05-06
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 csharemyside 的回复:]

mid,right,left

这些函数自己实现个了,也可以练练手

如right可以这样写
string s="11111";

s=s.substring(s.lenght-4),3);
[/Quote]
能这样写么?
zzmsyt 2011-05-06
  • 打赏
  • 举报
回复
楼上的说的很详细了 ,C#中操作字符串的函数很多,substring就很好用
CShareMySide 2011-05-05
  • 打赏
  • 举报
回复
mid,right,left

这些函数自己实现个了,也可以练练手

如right可以这样写
string s="11111";

s=s.substring(s.lenght-4),3);
remember_me 2011-05-05
  • 打赏
  • 举报
回复
楼上的已经说的很清楚了。
renyiqiu 2011-05-05
  • 打赏
  • 举报
回复
使用 substring 或 split 吧
 String s=”ialoveayouitoo”;
String s1=s.Split(‘a’,'i’);//多个字符标志 进行分割

Foreach(string s2 in s1)
{
Console.write(s2);
}
Console.Readkey();


给个例子吧
我姓区不姓区 2011-05-05
  • 打赏
  • 举报
回复
添加Microsoft.VisualBasic.dll的引用
Microsoft.VisualBasic.Strings类里面有VB里对应的方法
livdan 2011-05-05
  • 打赏
  • 举报
回复
string str="123abc456";
int i=3;
1 取字符串的前i个字符
str=str.Substring(0,i); // or str=str.Remove(i,str.Length-i);
2 去掉字符串的前i个字符:
str=str.Remove(0,i); // or str=str.Substring(i);
3 从右边开始取i个字符:
str=str.Substring(str.Length-i); // or str=str.Remove(0,str.Length-i);
4 从右边开始去掉i个字符:
str=str.Substring(0,str.Length-i); // or str=str.Remove(str.Length-i,i);
5 判断字符串中是否有"abc" 有则去掉之
using System.Text.RegularExpressions;
string str = "123abc456";
string a="abc";
Regex r = new Regex(a);
Match m = r.Match(str);
if (m.Success)
{
//绿色部分与紫色部分取一种即可。
str=str.Replace(a,"");
Response.Write(str);
string str1,str2;
str1=str.Substring(0,m.Index);
str2=str.Substring(m.Index+a.Length,str.Length-a.Length-m.Index);
Response.Write(str1+str2);
}
6 如果字符串中有"abc"则替换成"ABC"
str=str.Replace("abc","ABC");



XiaYiT 2011-05-05
  • 打赏
  • 举报
回复
SubString(开始位置,长度)//长度可以不填
netxiaoma 2011-05-05
  • 打赏
  • 举报
回复
SubString, Split
人工智能算法 2011-05-05
  • 打赏
  • 举报
回复
SubString 就可以啊

"123456789".Substring(1, 5);
第一个参数是起始位置 从0开始 第二个是截取多少个字符
beckfun 2011-05-05
  • 打赏
  • 举报
回复
Remove
beckfun 2011-05-05
  • 打赏
  • 举报
回复
SubString Split

110,566

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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