2013-01-03 225 views

回答

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

+1。使用[tcllib](http://tcllib.sourceforge.net/doc),我们可以这样写:'package require fileutil; fileutil :: writeFile somefile [string toupper [fileutil :: cat somefile]]' –

+0

谢谢@Brian Fenton,这很有帮助。但是,有没有办法用regsub命令做到这一点? – TheBlackCorsair

+0

我不知道用regsub做一个简单的方法。根据这个http://wiki.tcl.tk/9384,如果你抓住PCRE库,应该可以用\ l。 – TrojanName

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是大写的。

注意:这仅仅选择特定的文本是大写或小写

感谢时,

相关问题