Saya sedang membaca file besar dan saya hanya tertarik pada sebagian kecil file seperti yang ditunjukkan di bawah ini.
TC.0.Type = Bob 1
TC.1.Type = Mark 1
TC.2.Type =
TC.3.Type =
TC.4.Type = Fred 1
TC.5.Type =
TC.6.Type =
TC.7.Type =
TC.8.Type =
TC.9.Type = Fred 1
Saya telah membuat variabel yang sekarang menyimpan informasi ini
data = "{Bob 1} {Mark 1} {} {} {Fred 1} {} {} {} {} {Fred 1}"
TC selalu antara 0-9, jadi panjangnya diketahui.
Yang ingin saya lakukan adalah:
1) Jika ada beberapa contoh "Fred 1" dan hapus. 2) Temukan slot kosong pertama dan tentukan indeksnya.
Pertanyaan 1) Apakah biasanya terdapat tanda kurung saat menggunakan lappend? Saya berharap ini hanya terjadi jika bidang kosong
set data ""
for {set j 0} {$j < 10} {incr j} {
lappend data $fromfile
}
puts "Data in list = $data"
Pertanyaan 2) Saya bahkan sudah mencoba menggunakan regexp untuk memilih yang kosong tetapi sepertinya tidak berhasil.
Temukan bidang kosong {}
set j 0
for {set i 0} {$i < $ldata} {incr i} {
# set nline [split $data "\s"]
# puts "data ($i) = $nline"
if {[regexp {\{.*\}} $data]} {
puts " Found {}"
incr j
puts "j = $j"
}
}
Temukan bidang dengan nama mis. Bob 1
for {set i 0} {$i < $ldata} {incr i} {
if {[regexp {\{.*[a-zA-Z0-9]\}} $data]} {
puts " Found something with names"
}
}
Akan sangat menghargai jika seseorang dapat memberi nasihat dan membimbing.