速度求救!把一段含有‘-’的字段截取成两部分?

An_mol 2012-04-26 07:12:52
数据库里面是sj1002151512sfdfefcfc-自动工序521
数据库的这个字段名的数据长度都不相同的。
我只有根据‘-’来把他分割成连段。
在vs2008里写代码获取这个字段名下的数据
然后再页面显示,
要求显示成sj1002151512sfdfefcfc 自动工序521
在vs里面的代码怎么写啊?如何把他分割成两部分啊????
谢谢各位了,我在改项目啊!!!
...全文
278 26 打赏 收藏 转发到动态 举报
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
asuka986 2012-04-28
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 的回复:]

顺便说一下,最好把这个“数据库”的设计者弄到厕所里吊上半天。

也看到一些人把多条记录写成一个字符串,然后保存到数据库一条记录的一个字段中。你如果在这样的公司,不晕死才怪
[/Quote]

= = 犀利
隽安 2012-04-27
  • 打赏
  • 举报
回复

string s = "sj-100-215-1512-sfdfefcfc-自动工序-521";
string[] rs = Regex.Split(s, @"-(?=[^-]+-[^-]+$)");
string str1 = "";
foreach (string str in rs){
if(str == "自动工序"){
str1 += " "+str + "-");
}else
{
str1 += str + "-");
}
}
str1 = str1.Replace("- "," ");
熙风 2012-04-27
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 的回复:]

干脆根据“自动工序”spilt好了~后一个字符串加一个“自动工序”
[/Quote]

有道理,但不知道,是不是固定这个格式
wuzfxx 2012-04-27
  • 打赏
  • 举报
回复
string s = "sj-100-215-1512-sfdfefcfc-自动工序521";
string str1, str2;
str1 = s.Substring(0, s.LastIndexOf("-"));
str2 = s.Substring(s.LastIndexOf("-") + 1, s.Length - s.LastIndexOf("-"));


这一段稀烂的代码这么对人复制做什么哦(写出这段代码的人初学者都比不上)。。 。 。想不通
handsomekyle 2012-04-27
  • 打赏
  • 举报
回复
c/c++
strtok()函数
那一抹嫣红 2012-04-27
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]

String s = "sj-100-215-1512-sfdfefcfc-自动工序521";
String str1, str2;
str1 = s.Substring(0, s.LastIndexOf("-"));
str2 = s.Substring(s.LastIndexOf("-")+1);
Response.Write(str1);
Response.Write("<br>……
[/Quote]

差不多这样实现吧
anzhiqiang_touzi 2012-04-27
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 的回复:]
顺便说一下,最好把这个“数据库”的设计者弄到厕所里吊上半天。

也看到一些人把多条记录写成一个字符串,然后保存到数据库一条记录的一个字段中。你如果在这样的公司,不晕死才怪
[/Quote]


string s = "sj-100-215-1512-sfdfefcfc-自动工序521";
string str1, str2;
str1 = s.Substring(0, s.LastIndexOf("-"));
str2 = s.Substring(s.LastIndexOf("-") + 1, s.Length - s.LastIndexOf("-"));

  • 打赏
  • 举报
回复
string s = "1-2-3-4-5";
string str1 = s.Substring(0, s.LastIndexOf('-'));
string str2 = s.Substring(s.LastIndexOf('-')+1, s.Length - s.LastIndexOf('-'));
  • 打赏
  • 举报
回复
顺便说一下,最好把这个“数据库”的设计者弄到厕所里吊上半天。

也看到一些人把多条记录写成一个字符串,然后保存到数据库一条记录的一个字段中。你如果在这样的公司,不晕死才怪
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 的回复:]

不好意思
还不是那样的、
应该是这种格式
sj-100-215-1512-sfdfefcfc-自动工序-521
我要的效果:
sj-100-215-1512-sfdfefcfc 自动工序-521
还多了一个“-‘,之前没看到,不好意思哈,
再给个解答吧!谢谢谢谢
[/Quote]

你是连基本的业务逻辑都说不出来啊!

这样怎么编写程序呢?
yangchun1213 2012-04-26
  • 打赏
  • 举报
回复
没看明白,10分带走
xboxeer 2012-04-26
  • 打赏
  • 举报
回复
干脆根据“自动工序”spilt好了~后一个字符串加一个“自动工序”
dalmeeme 2012-04-26
  • 打赏
  • 举报
回复
		string s = "sj-100-215-1512-sfdfefcfc-自动工序-521";
string[] rs = Regex.Split(s, @"-(?=[^-]+-[^-]+$)");
foreach (string str in rs)
Response.Write(str + "<br/>");
mizuho_2006 2012-04-26
  • 打赏
  • 举报
回复

string s = "sj-100-215-1512-sfdfefcfc-自动工序-521";
string str1, str2;
str1 = s.Substring(0, s.IndexOf("自动工序")-1);
str2 = s.Substring(s.IndexOf("自动工序"), s.Length - s.IndexOf("自动工序"));
An_mol 2012-04-26
  • 打赏
  • 举报
回复
不好意思
还不是那样的、
应该是这种格式
sj-100-215-1512-sfdfefcfc-自动工序-521
我要的效果:
sj-100-215-1512-sfdfefcfc 自动工序-521
还多了一个“-‘,之前没看到,不好意思哈,
再给个解答吧!谢谢谢谢
EnForGrass 2012-04-26
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]

String s = "sj-100-215-1512-sfdfefcfc-自动工序521";
String str1, str2;
str1 = s.Substring(0, s.LastIndexOf("-"));
str2 = s.Substring(s.LastIndexOf("-")+1);
Response.Write(str1);
Response.Write("<br>……
[/Quote]
这个是最简单的

string s = "sj-100-215-1512-sfdfefcfc-自动工序521";
string str1, str2;
str1 = s.Substring(0, s.LastIndexOf("-"));
str2 = s.Substring(s.LastIndexOf("-") + 1, s.Length - s.LastIndexOf("-"));
orochiheart 2012-04-26
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
string[] strArray = str.split('-');
[/Quote]
+1 就是这样!
a157147899 2012-04-26
  • 打赏
  • 举报
回复

var a = new List<string> { "sj-100-215-1512-sfdfefcfc-自动工序521", "sj-100-215-1512-sfdfefcfc-自动工序222", "sj-100-215-1512-sfdfefcfc-自动工序333" };
var query = from data in a
select new
{
part1 = data.Substring(0, data.LastIndexOf('-')),
part2 = data.Substring(data.LastIndexOf('-') + 1)
};
query.ToList().ForEach(data => Response.Write(data.part1 + ":" + data.part2 + "<hr/>"));
dalmeeme 2012-04-26
  • 打赏
  • 举报
回复
		string s = "sj-100-215-1512-sfdfefcfc-自动工序521";
string[] ss = Regex.Split(s, @"-(?=[^-]+$)");
mizuho_2006 2012-04-26
  • 打赏
  • 举报
回复
没看清需求,还以为要分成5个字符串。用字符串分割吧 IndexOf
加载更多回复(6)

62,268

社区成员

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

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

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

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