问一个字符串截取的方法 ,在线等。马上结贴。小弟很着急啊 ,大家都来看看哦 。谢谢了 。

se7en 2011-03-24 04:18:54


string str=timer234983498sldkfjtimer11514

我是菜鸟 ,请问各位大虾我现在想截取第二个timer之前的,我应该如何截取 。嘿嘿 ,比较弱智 ,各位不要笑话我。我正在努力当中。
...全文
133 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
se7en 2011-03-24
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 hinada99 的回复:]
引用 14 楼 woaizuguo 的回复:
引用 4 楼 colinfang2006 的回复:
这个。。1楼为什么不直接split("timer")


因为我还好几个timer ,弱弱的问下你怎么知道截取的是哪个?


str.split("timer") 的返回值是一个数组。使用[index]就可以引用到指定的元素了

string str= timer dsadadas……
[/Quote]

哦 ,好的 ,你真是细心 。我没发现split返回的是一个数组 。嗯 ,谢谢你。
hinada99 2011-03-24
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 woaizuguo 的回复:]
引用 4 楼 colinfang2006 的回复:
这个。。1楼为什么不直接split("timer")


因为我还好几个timer ,弱弱的问下你怎么知道截取的是哪个?
[/Quote]

str.split("timer") 的返回值是一个数组。使用[index]就可以引用到指定的元素了

string str= timer dsadadasddsadasdsa timer 321321312dsadsadsada timer 3213213123
str.split("timer")[0] str.split("timer")[1] ...[2]
hinada99 2011-03-24
  • 打赏
  • 举报
回复
string after=str.split("timer")[0];
ycproc 2011-03-24
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 hecker728 的回复:]
str.repalce("timer","|"); "|"为你字符串中不可能出现的字符
string[] returnStr = str.split('|');

string value=returnStr[0]+"timer"+returnStr[1];


比较野蛮的方式,呵呵!手写未经测试
[/Quote]

这个已经正确了
其他的 都没用
se7en 2011-03-24
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 colinfang2006 的回复:]
这个。。1楼为什么不直接split("timer")
[/Quote]

因为我还好几个timer ,弱弱的问下你怎么知道截取的是哪个?
Friday 2011-03-24
  • 打赏
  • 举报
回复
     
//利用1楼的想法。。先把字符串(以)分割 成数组,然后组合起来,PS:第一个数组是空的"",第二个是234983498sldkfj
//对于var strPos = str.LastIndexOf("timer");这个取法,本人觉的有漏洞,要是timer多于两个以上就取不到楼主想要的东西


//用之前得导入 using System.Text.RegularExpressions;
string str = "timer234983498sldkfjtimer11514";

string[] returnStr = Regex.Split(str, "timer", RegexOptions.IgnoreCase);

string value = returnStr[0] + "timer" + returnStr[1]; //最后结果

  • 打赏
  • 举报
回复

string str = "timer234983498sldkfjtimer11514";
string[] test = str.Split(new string[]{"timer"}, StringSplitOptions.None);
str = test[1];
hwtersha 2011-03-24
  • 打赏
  • 举报
回复

string str = "timer234983498sldkfjtimer11514";
Regex rg = new Regex(@"\w*(?=(timer)[^\1]*$)");
str = rg.Match(str).Value;

//new Regex(@"\w*(?=(timer)[^\1]*$)") 中的timer为你需要截取的位置,可以随意修改,而且是从要匹配字符串最后位置匹配
Airch 2011-03-24
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 niehua24 的回复:]

如果只是根据你这个字符串的情况,你可以这么写

var str = "timer234983498sldkfjtimer11514";

var strPos = str.LastIndexOf("timer");

var currentStr = str.Substring(0, strPos);
[/Quote]
++1 这方法可以
bwei013 2011-03-24
  • 打赏
  • 举报
回复
已测试
string str = "timer234983498sldkfjtimer11514";

int i = str.LastIndexOf("timer");

string str2 = str.Substring(0, i);
str2 就是你想要的第二个timer前的字符串
wzhenghui 2011-03-24
  • 打赏
  • 举报
回复
string str=timer234983498sldkfjtimer11514

int i=str.LastIndexOf("timer");
string newstr=str.substring(0,i)
windynie 2011-03-24
  • 打赏
  • 举报
回复
string str = "timer234983498sldkfjtimer11514";

int strPos = str.LastIndexOf("timer");

string currentStr = str.Substring(0, strPos);
windynie 2011-03-24
  • 打赏
  • 举报
回复
如果只是根据你这个字符串的情况,你可以这么写

var str = "timer234983498sldkfjtimer11514";

var strPos = str.LastIndexOf("timer");

var currentStr = str.Substring(0, strPos);
hecker728 2011-03-24
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 colinfang2006 的回复:]

这个。。1楼为什么不直接split("timer")
[/Quote]

这个,split("timer")是2.0以后的吧。。貌似2.0没有。献丑了!
636f6c696e 2011-03-24
  • 打赏
  • 举报
回复
这个。。1楼为什么不直接split("timer")
heavenopener 2011-03-24
  • 打赏
  • 举报
回复

static void Main(string[] args)
{
string str = "timer234983498sldkfjtimer11514";
//截取timer与timer之间的字符串
Regex rg = new Regex(@"^timer(.)+timer");
Match mt = rg.Match(str);
string midstr = mt.ToString();
//去掉最后一个timer
int index = midstr.IndexOf("timer",1);
string substr = midstr.Substring(0, index);
Console.WriteLine(substr);
}
hecker728 2011-03-24
  • 打赏
  • 举报
回复
str.repalce("timer","|"); "|"为你字符串中不可能出现的字符
string[] returnStr = str.split('|');

string value=returnStr[0]+"timer"+returnStr[1];


比较野蛮的方式,呵呵!手写未经测试

110,532

社区成员

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

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

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