能否用正则表达式来生成一个字符串数组?

yaseroio 2014-09-02 10:07:15
如题,我有下面这样的程序:

string[] result= ....
foreach(string s in result){
Console.Writeline(s);
}

我希望result这个数组包含所有符合情况的:"id"加上一个数字,这个数字是一位或者两位,而且末位不超过4,如下的例子
id1
id2
id3
id4
id11
id12
id13
id14
一直到id94

可以通过RegEx的相关功能做到吗?
谢谢!
...全文
272 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
Forty2 2014-09-02
  • 打赏
  • 举报
回复

string[] result =  Enumerable.Range(0, 10)
    .SelectMany(i => Enumerable.Range(1, 4).Select(j => "id" + (i * 10 + j)))
    .ToArray();
於黾 2014-09-02
  • 打赏
  • 举报
回复
如果你要的仅仅是固定的数组,而不是从结果集中匹配出你数组中包含的部分,双循环就可以搞定了啊 string[] result=new string[40]; for(int i=0;i<9;i++) { for(int j=0;j<4;j++) { string id="id"; if(i>0) { id+=i.tostring(); } id+=j.tostring(); result[i*4+j]=id; } }
yaseroio 2014-09-02
  • 打赏
  • 举报
回复
引用 2 楼 Forty2 的回复:
string[] result = Enumerable.Range(1, 14).Select(i => "id" + i).ToArray();
这个的输出是id1, id2, id3, id4, id5, id6, id7, id8, id9, id10, id11, id12, id13, id14 不是我想要的。 我想要的是id1, id2, id3, id4, id11, id12, id13, id14, id21, id22, id23, id24, id31......id94 这样的的一个数组 怎么写这个表达式呢?
Forty2 2014-09-02
  • 打赏
  • 举报
回复
string[] result = Enumerable.Range(1, 14).Select(i => "id" + i).ToArray();
於黾 2014-09-02
  • 打赏
  • 举报
回复
目测应该可以用LINQ做 非要正则,你需要先定义个LIST,循环匹配,把能匹配上的加入LIST,然后再转成数组
yaseroio 2014-09-02
  • 打赏
  • 举报
回复
引用 5 楼 Forty2 的回复:

string[] result =  Enumerable.Range(0, 10)
    .SelectMany(i => Enumerable.Range(1, 4).Select(j => "id" + (i * 10 + j)))
    .ToArray();
LINQ牛逼!
sunny906 2014-09-02
  • 打赏
  • 举报
回复
如果你是要匹配的话,可以这样写

id[1-9]\d{0,1}
sunny906 2014-09-02
  • 打赏
  • 举报
回复
正则是用来作匹配用的,并不是用来生成数据的
q107770540 2014-09-02
  • 打赏
  • 举报
回复
var list=Enumerable.Range(1,40).Select((x,i)=>"id"+((i/4)*10+(i%4)+1));
结果:
5IEnumerable<String> (40 items)  
id1
 
id2
 
id3
 
id4
 
id11
 
id12
 
id13
 
id14
 
id21
 
id22
 
id23
 
id24
 
id31
 
id32
 
id33
 
id34
 
id41
 
id42
 
id43
 
id44
 
id51
 
id52
 
id53
 
id54
 
id61
 
id62
 
id63
 
id64
 
id71
 
id72
 
id73
 
id74
 
id81
 
id82
 
id83
 
id84
 
id91
 
id92
 
id93
 
id94
 

111,096

社区成员

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

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

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