这个字符串怎么截取?

Raincen 2012-02-12 10:55:38
有这么一种规格的字符串,如:

string s1="/1/1/";
string s2="/1/2/";
string s3="/1/13/";

问,如果将最后一段/与/间的内容(位数不确定)去掉,只保留前半截?结果像这样:"/1/"
...全文
74 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
刘志伟_ 2012-02-12
  • 打赏
  • 举报
回复
发晚了,哈哈楼主自己搞出来了
刘志伟_ 2012-02-12
  • 打赏
  • 举报
回复
string s = Regex.Replace("/1/1/1343/454545/", @"\d+/$", "");

这个可以,我测试过了
Raincen 2012-02-12
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 caozhy 的回复:]

引用 2 楼 caozhy 的回复:

string s1 = "/1/1/";
Regex reg = new Regex(@"^/\d+/");
Console.WriteLine(reg.Match(s1).Value);

最后一段:

string s1 = "/1/1/";
Regex reg = new Regex(@"/\d+/$");
Console.Wri……
[/Quote]
OK,搞定,因为要保留最后一位为“/",所以我修正成:
Regex reg = new Regex(@"\d+/$");
正则一直是我的弱项,得学啊~

感谢各位~
threenewbee 2012-02-12
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 caozhy 的回复:]

string s1 = "/1/1/";
Regex reg = new Regex(@"^/\d+/");
Console.WriteLine(reg.Match(s1).Value);
[/Quote]
最后一段:

string s1 = "/1/1/";
Regex reg = new Regex(@"/\d+/$");
Console.WriteLine(reg.Replace(s1, ""));
叶子 2012-02-12
  • 打赏
  • 举报
回复
--你也可以在数据库中处理

declare @T table (col varchar(8))
insert into @T
select '/1/1/43/' union all
select '/1/2/' union all
select '/1/13/1/'

select LEFT(col,LEN(col)-CHARINDEX('/',RIGHT(REVERSE(col),LEN(col)-1))) from @T
/*
/1/1/
/1/
/1/13/
*/
叶子 2012-02-12
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 yiuke 的回复:]

感谢二位,但我的字符串里有几段"/x/"不确定,且中间的数字位数也不确定,而我只想去掉最后一段;

我已经实现了,但代码感觉不好看,不知道有没有更好的办法:
string result = s3.Substring(0, s5.TrimEnd('/').LastIndexOf('/')+1);
[/Quote]
你这里的s3 和 s5 不对应,结果不会正确的。

idaydayup 2012-02-12
  • 打赏
  • 举报
回复
只要实现了就好,哪有什么好看不好看的
Raincen 2012-02-12
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 yiuke 的回复:]

感谢二位,但我的字符串里有几段"/x/"不确定,且中间的数字位数也不确定,而我只想去掉最后一段;

我已经实现了,但代码感觉不好看,不知道有没有更好的办法:
string result = s3.Substring(0, s5.TrimEnd('/').LastIndexOf('/')+1);
[/Quote]
应该是:string result = s3.Substring(0, s3.TrimEnd('/').LastIndexOf('/')+1);
Raincen 2012-02-12
  • 打赏
  • 举报
回复
感谢二位,但我的字符串里有几段"/x/"不确定,且中间的数字位数也不确定,而我只想去掉最后一段;

我已经实现了,但代码感觉不好看,不知道有没有更好的办法:
string result = s3.Substring(0, s5.TrimEnd('/').LastIndexOf('/')+1);
threenewbee 2012-02-12
  • 打赏
  • 举报
回复
string s1 = "/1/1/";
Regex reg = new Regex(@"^/\d+/");
Console.WriteLine(reg.Match(s1).Value);
Gemini Dean 2012-02-12
  • 打赏
  • 举报
回复
trimend("/")
trimend("/")

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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