截取字符串的特定位置

baijingsw 2009-04-12 11:48:10
比如说有个字符串是
string content = "we sholud come form -li- or some -wo so we have - 6 -";

乱写的哈

我就是想截取 - - 中间的 上面的 li 和 6 都是 - - 中间的,我只想截取他们中间的,怎么做呢?
...全文
202 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
LemIST 2009-04-12
  • 打赏
  • 举报
回复
string content = "we sholud come form -li- or some -wo so we have - 6 -";

Regex reg = new Regex(@"\-(.*?)\-", RegexOptions.Compiled);
MatchCollection mc = reg.Matches(content);
foreach (Match mat in mc)
Console.WriteLine(mat.Groups[1].Value);
cgpu456 2009-04-12
  • 打赏
  • 举报
回复
mark
-过客- 2009-04-12
  • 打赏
  • 举报
回复
10楼的需求

string content = "we sholud come form -li- or some wo so we have - 6 -"; 
MatchCollection mc = Regex.Matches(content, @"(?<=-)[^-]+(?=-)");
foreach (Match m in mc)
{
richTextBox2.Text += m.Value + "\n";
}
spmzfz 2009-04-12
  • 打赏
  • 举报
回复

// 56789
string content = "we sholud come form -li- or some -wo so we have - 6 -";
int i1 = content.IndexOf('-', 0);
int i2 = content.IndexOf('-', i1 + 1);
Console.WriteLine(content.Substring(i1+1,i2-i1-1 ));


我只会这样做。
baijingsw 2009-04-12
  • 打赏
  • 举报
回复
那或者这样呢? 截取 -li-
-wo so we have -
- 6 -

这3个呢?反正如果是 - - 里面的都截取
-过客- 2009-04-12
  • 打赏
  • 举报
回复
try...

string content = "we sholud come form -li- or some wo so we have - 6 -"; 
MatchCollection mc = Regex.Matches(content, @"-([^-]+)-");
foreach (Match m in mc)
{
richTextBox2.Text += m.Groups[1].Value + "\n";
}
baijingsw 2009-04-12
  • 打赏
  • 举报
回复
哦, 哦,写错了 string content = "we sholud come form -li- or some wo so we have - 6 -";
-过客- 2009-04-12
  • 打赏
  • 举报
回复
打错了,你的例子中有五个“-”,为什么取的是
-li-
- 6 -
而不是
-li-
-wo so we have -

什么规则?
baijingsw 2009-04-12
  • 打赏
  • 举报
回复
楼上啥意思? 规则就是 - -中间的内容,只要截取下来就是了啊
  • 打赏
  • 举报
回复
准确的说,我不是很清楚
-过客- 2009-04-12
  • 打赏
  • 举报
回复
为什么是
-li-
- 6 -
而不是
-li-
-wo so we have -

什么规则?
baijingsw 2009-04-12
  • 打赏
  • 举报
回复
那个。。能用C#代码么。
ws_hgo 2009-04-12
  • 打赏
  • 举报
回复
用SQL
string content = "we sholud come form -li- or some -wo so we have - 6 -"; 
declare @sql varchar(2000)
set @sql=''
select @sql=right(content,len(content)-charindex('|',content))
select @sql=left(content,charindex('|',content)-1)

111,126

社区成员

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

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

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