在Sheet2插入命令按鈕並編程如下:
Private Sub CommandButton1_Click()
Dim i1 As Long, i2 As Long
##Dim a$, b$i2 = 2
Do While Range("C" & i2)
""a$ = ""#b$ = ""#i1 = 1
Do While Worksheets("Sheet1").Range("C" & i1)
""If Worksheets("sheet1").Range("C" & i1) = Range("C" & i2) Then
a$ = a$ & Worksheets("sheet1").Range("A" & i1) & ";"
b$ = b$ & Worksheets("sheet1").Range("B" & i1) & ";"
End If
i1 = i1 1
Loop
If a$
"" Then a$ = Left(a$, Len(a$) - 1)If b$
"" Then b$ = Left(b$, Len(b$) - 1)Range("A" & i2) = a$#Range("B" & i2) = b$#i2 = i2 1
Loop
End Sub
這一行指令可以幫助你刪除包含 Merge 的 commit 區塊(任多個這樣的文字區塊)
sed -n '/commit/{:a;h;n;/Merge/b;:c;H;n;$bd;/commit/!bc;:d;x;p;x;ba} ' log > log.txt
運行效果如下:
#我的命令可能複雜了些。稍微解釋一下,僅供參考:
其中:a :b :c :d 是指令跳轉標籤label
1. /commit/{:a;h;n;
當某行找到 commit 時,將此行複製到 hold space,然後讀取下一行。
2. /Merge/b;
如果剛讀取到的新行,包含Merge,則結束對本行的處理,讀取下一行,並繼續尋找commit
如果剛讀取到的新行,不包含Merge,那麼繼續對本行執行後續指令:
3. :c;H;n;$bd;/commit/!bc;:d;x;p;x;ba}
將此行追加到hold space,讀取下一行,如果沒有到最後一行,並且沒有找到commit,那麼執行命令bc,跳到c標籤——循環這個過程,直到讀取到文件末尾或者讀取到包含commit的行。然後,x,將hold space的內容與pattern space的內容對調,p,輸出pattern space的內容(即,不包含Merge的塊),x,再次對調,pattern space變成之前的內容(文件末尾或者包含commit的行)。 ba,跳到標籤a,繼續對此行進行檢查,重複步驟1,2,3。
如果上面的指令改為:
sed -n '/commit/{:a;h;n;/Merge/!b;:c;H;n;$bd;/commit/!bc;:d;x;p;x;ba }' log > log.txt
那麼,輸出結果為,只包含 Merge 的 commit 區塊
既然有1位數的數據也有4位數的數據,那麼如果txt中沒有刻意的回車,行數和列數就不可能確定。如果有回車的話,簡單,用
char *strtok( char *str1, const char *str2 );
就能解決。
先用getline()一行讀出一個str,並且累加行數,然後
char *result = NULL;
char string[100][100];
int x = 0;
result = strtok( str, " ");
while( result != NULL ) {
strcpy(string[x ] , result);
result = strtok( NULL, " " );
}
這樣用一個string數組就可以把全部資料保存下來。 x記錄了總數,然後x除以行數就是列數。
今天有空了,幫你把程式全寫出來:
using namespace std;
void main(){
char ch[100] = "\0";
char b[100][100];
int x=0,y=0;
ifstream fin("123.txt",ios::in);
fin.getline(ch,100);
while(!fin.eof()){
x;
cout
#char *result = NULL;result = strtok(ch,",");
while( result != NULL ) {
strcpy(b[y ],result);
cout
result = strtok( NULL, "," );}
memset(ch,0,100);
fin.getline(ch,100);
}
fin.close();
}
//已經運行過了,沒問題,b[100][100]是所有元素,x為行數,y/x為列數。 ###
以上是excel判斷行符合要的詳細內容。更多資訊請關注PHP中文網其他相關文章!