2013-08-02 32 views
3

我有一个带有txt内容的文件。内容被动态地产生,我想在相反的顺序读取,从文件到第一匹配分号结束,例如:以相反顺序从字符串中获取值

sad12e1sadsadsadasdasd12e2q3312sdadasdasdasqe21231122123123asd1asda;123456 

所以想要抓住这个123456整数,随机INT ofcourse这被生成的内容长度。

回答

10

如果你一直在字符串的结束和一个分号后的文本搜索,您可以使用

string.LastIndexOf(';'); 

例如

string test = "sad12e1sadsadsadasdasd12e2q3312sdadasdasdasqe21231122123123asd1asda;123456"; 
int pos = test.LastIndexOf(';'); 
if(pos >= 0) 
    string myText = test.Substring(pos+1); 
1

@Steve说什么,或者只是

string value = "sad12e1sadsadsadasdasd12e2q3312sdadasdasdasqe21231122123123asd1asda;123456"; 
string number = value.Split(';')[1]; 

虽然这不处理分号丢失的情况。

+0

分号将始终存在,所以没关系。 – panjo

+5

它也不处理有多个分号的情况。 – zimdanen

+1

边缘案例@panjo。总是期望事情发生,应该永远不会发生 – Malachi