如何在Tcl中将小写改为大写?

时间:2013-01-03 12:29:38

标签: regex tcl

我正在尝试使用字符类将所有小写字母重新编译为大写:

 regsub -all { [:lower:] } $f { [:upper:] } f

但它没有进行替换。

2 个答案:

答案 0 :(得分:6)

只需将文件读入字符串并使用string toupper即可。然后将其写回文件。

set fp [open "somefile" r]
set file_data [read $fp]
close $fp

set file_data [string toupper $file_data]

set fp [open "somefile" "w"]
puts -nonewline $fp $file_data
close $fp

答案 1 :(得分:2)

是的,上面会像魅力一样起作用。

set f [string toupper $f]

f 是一些列表或字符串。如果你想要文件操作,像往常一样从文件中读取并写入。

虽然如果您只想使用regsub,请尝试一下

set f "this is a line"

regsub -all {.*} $f {[string toupper {&}]} f

set f [subst -nobackslashes -novariables $f]

现在 f 中的内容是大写的。

注意:当选择特定文本为大写或小写时,它看起来很长但很有用

谢谢,