Two examples, one that removes all similar columns e.g. all W and all B will be removed the second will do what you want I think. Remove only W cols
Code:
SetBatchLines, -1
String= ; replace by fileread
(
WWBBWWWWWWWBBBBBWWWWWBBBBBWWWWWWWWWWWWWWBBBBBWWWWBBBBBBWWBBBBBBWWWW
WWBBWWWWWWBBBBBBBWWWBBBBBBBWWWWWWWWWWWWBBBBBBBWWWBBBBBWWWBBBBBWWWWW
WWBBWWWWWWBBWWWBBWWWBBWWWBBWWWWWWWWWWWWBBWWWBBWWWBBWWWWWWBBWWWWWWWW
WWBBWWWWWWBBWWWBBWWWBBWWWWWWWWWWWWWWWWWBBWWWBBWWWBBWWWWWWBBWWWWWWWW
WWBBWWWWWWBBWWWBBWWWBBWWWWWWWWWWWWWWWWWBBWWWBBWWWBBWWWWWWBBWWWWWWWW
WWBBWWWWWWBBWWWBBWWWBBWWWWWWWWWWWWWWWWWBBWWWBBWWWBBWWWWWWBBWWWWWWWW
WWBBWWWWWWBBWWWBBWWWBBWBBBBWWWWWWWWWWWWBBWWWBBWWWBBBBBWWWBBBBBWWWWW
WWBBWWWWWWBBWWWBBWWWBBWBBBBWWWWWWWWWWWWBBWWWBBWWWBBBBBWWWBBBBBWWWWW
WWBBWWWWWWBBWWWBBWWWBBWWWBBWWWWWWWWWWWWBBWWWBBWWWBBWWWWWWBBWWWWWWWW
WWBBWWWWWWBBWWWBBWWWBBWWWBBWWWWWWWWWWWWBBWWWBBWWWBBWWWWWWBBWWWWWWWW
WWBBWWWWWWBBWWWBBWWWBBWWWBBWWWWWWWWWWWWBBWWWBBWWWBBWWWWWWBBWWWWWWWW
WWBBBBBBWWBBBBBBBWWWBBBBBBBWWWWWWWWWWWWBBBBBBBWWWBBWWWWWWBBWWWWWWWW
WWBBBBBBWWWBBBBBWWWWWBBBBBBWWWWWWWWWWWWWBBBBBWWWWBBWWWWWWBBWWWWWWWW
)
Filedelete, stringout.txt
StringSplit, Line, String, `n, `r
Loop % StrLen(Line1)
{
ColTheSame=True
Check:=A_Index
Loop % Line0
{
Col:=A_Index
NextLine := A_Index + 1
If (A_Index = Line0)
Break
A:= SubStr(Line%A_Index%,Check,1)
B:= SubStr(Line%NextLine%,Check,1)
;MsgBox % Check "`na" a ":" "b" b
If ( A <> B )
{
ColTheSame=False
break
}
}
If ( ColTheSame = "True" )
RemoveCols .= Check ","
}
Loop % Line0
{
Check:=A_Index
Loop, Parse, Line%Check%
{
; If A_Index not in %RemoveCols% ; note if in var is very very slow
If (InStr("," . RemoveCols . "," , "," . A_Index . ",") = 0) ; 0 is not found
OutPut .= A_LoopField ; append
}
Output .= "`n"
}
FileAppend, %Output%, stringout.txt
Esc::ExitApp
Code:
SetBatchLines, -1
String= ; replace by fileread
(
WWBBWWWWWWWBBBBBWWWWWBBBBBWWWWWWWWWWWWWWBBBBBWWWWBBBBBBWWBBBBBBWWWW
WWBBWWWWWWBBBBBBBWWWBBBBBBBWWWWWWWWWWWWBBBBBBBWWWBBBBBWWWBBBBBWWWWW
WWBBWWWWWWBBWWWBBWWWBBWWWBBWWWWWWWWWWWWBBWWWBBWWWBBWWWWWWBBWWWWWWWW
WWBBWWWWWWBBWWWBBWWWBBWWWWWWWWWWWWWWWWWBBWWWBBWWWBBWWWWWWBBWWWWWWWW
WWBBWWWWWWBBWWWBBWWWBBWWWWWWWWWWWWWWWWWBBWWWBBWWWBBWWWWWWBBWWWWWWWW
WWBBWWWWWWBBWWWBBWWWBBWWWWWWWWWWWWWWWWWBBWWWBBWWWBBWWWWWWBBWWWWWWWW
WWBBWWWWWWBBWWWBBWWWBBWBBBBWWWWWWWWWWWWBBWWWBBWWWBBBBBWWWBBBBBWWWWW
WWBBWWWWWWBBWWWBBWWWBBWBBBBWWWWWWWWWWWWBBWWWBBWWWBBBBBWWWBBBBBWWWWW
WWBBWWWWWWBBWWWBBWWWBBWWWBBWWWWWWWWWWWWBBWWWBBWWWBBWWWWWWBBWWWWWWWW
WWBBWWWWWWBBWWWBBWWWBBWWWBBWWWWWWWWWWWWBBWWWBBWWWBBWWWWWWBBWWWWWWWW
WWBBWWWWWWBBWWWBBWWWBBWWWBBWWWWWWWWWWWWBBWWWBBWWWBBWWWWWWBBWWWWWWWW
WWBBBBBBWWBBBBBBBWWWBBBBBBBWWWWWWWWWWWWBBBBBBBWWWBBWWWWWWBBWWWWWWWW
WWBBBBBBWWWBBBBBWWWWWBBBBBBWWWWWWWWWWWWWBBBBBWWWWBBWWWWWWBBWWWWWWWW
)
Filedelete, stringout2.txt
StringSplit, Line, String, `n, `r
Loop % StrLen(Line1)
{
ColTheSame=True
Check:=A_Index
Loop % Line0
{
Column .= SubStr(Line%A_Index%,Check,1)
}
IfNotInString, Column, B
RemoveCols .= Check ","
Column=
}
Loop % Line0
{
Check:=A_Index
Loop, Parse, Line%Check%
{
; If A_Index not in %RemoveCols% ; note if in var is very very slow
If (InStr("," . RemoveCols . "," , "," . A_Index . ",") = 0) ; 0 is not found
OutPut .= A_LoopField ; append
}
Output .= "`n"
}
FileAppend, %Output%, stringout2.txt
Esc::ExitApp