One way using string patterns: string = ImportString["<12> cfg <15.21> bhg v<(24)> e<65> True <12> cfg <15.21> bhg v<33> e<(77)> False <83> fff <67> bhg < > e<(43)> True <11> fff <14.21> bff v<(1.42)> e<44> True <76> cfg <76.3> fff < > e<21> True <98> cff <34> rrs v<33> < > True", "Lines"]; StringCases[string, { "<" ~~ p : NumberString ~~ ">" -> p, "<(" ~~ n : NumberString ~~ ")>" -> -n, "<" ~~ " " ~~ ">" -> "NA", bool : ("True" | "False") -> bool /. {"True" -> "T", "False" -> "F"} }] > {{"12", "15.21", -"24", "65", "T"}, {"12", "15.21", "33", -"77", > "F"}, {"83", "67", "NA", -"43", "T"}, {"11", "14.21", -"1.42", "44", > "T"}, {"76", "76.3", "NA", "21", "T"}, {"98", "34", "33", "NA", > "T"}}