我被卡住了。 (現在有一個思維障礙):/如何修剪一個字符串並將殘差存儲在數組中?
我需要一個字符串,它包含大量的「sometext \ n \ t \ t \ t \ t00:00 \ n \ t \ t \ t \ t05 :32 \ n \ t \ t \ t \ t ....「
此字符串中總是有8個值。我想要在數組[8]中的每個(這8個)值。
但最重要的是價值。 (開頭的文字是不必要的)。
我被卡住了。 (現在有一個思維障礙):/如何修剪一個字符串並將殘差存儲在數組中?
我需要一個字符串,它包含大量的「sometext \ n \ t \ t \ t \ t00:00 \ n \ t \ t \ t \ t05 :32 \ n \ t \ t \ t \ t ....「
此字符串中總是有8個值。我想要在數組[8]中的每個(這8個)值。
但最重要的是價值。 (開頭的文字是不必要的)。
將這工作:
var source = "sometext\n\t\t\t\t00:00\n\t\t\t\t05:32\n\t\t\t\t...."
var result = source.Split(new []{"\n\t\t\t\t"}, StringSplitOptions.None);
即:猜測你的所有值由換行符+ 4個製表符分隔。
如果這不是(總是)分隔符,那麼您需要指定如何從「分隔符」中識別「值」。
'source.Split(「\ n \ t \ t \ t \ t」);'不能像這樣工作。你只能分割(一個)字符。所以我會得到一個巨大的數組[451]。分隔符應該始終相同。 (我的包含更多\ t)。 – MrMAG 2012-08-03 09:13:24
我使用了'var result = source.Split(new Char [] {'\ n','\ t',});' – MrMAG 2012-08-03 09:14:27
@ user1559441 - 我改正了我的例子,現在可以使用。你的例子在任何'\ n'或'\ t'上分割,所以它返回很多空值。 – 2012-08-03 09:48:13
我認爲下面的代碼會做你需要什麼
int i,j;
int[] array=new int[8];
string s="sometext\n\t\t\t\t00:00\n\t\t\t\t05:32\n\t\t\t\t...."; // or input something
for(i=j=0;i<s.Length;i++){
if (s[i]>='0'&&s[i]<='9'){
array[j++]=s[i]-'0';
}
}
我不知道如何設置此代碼?! :/ – MrMAG 2012-08-03 08:44:38
哪種語言? – 2012-08-03 08:44:47
c#..抱歉,我忘了命名它。 – MrMAG 2012-08-03 08:57:17