今天终于把字串整理的程序完成了,明天开始清明节放假咯

将res文件夹下面的所有*.r文件的字串名与中文翻译提取出来,每个.r文件对应一张sheet,本文件中的翻译存放在本sheet中。代码很乱,但是很不想改了委屈


经理总是叫我整理字符串,这么多的字串手动拷贝肯定是不行的,VBA也不熟,每次编程都要之前的模板拿来也折腾很久,C又写不出来,好像还是perl好用一点,我要多学点perl。

#!/usr/bin/perl 

use Encode;  
use Spreadsheet::WriteExcel;  
$dir_name = "C:\\Perl\\res\\";
opendir(DIR,$dir_name)   ||   die   "Can 't   open   directory   $dir_name "; 
@dots = readdir(DIR);
print @dots;
$files = @dots;  
 # 创建一个新的EXCEL文件  
 my $workbook = Spreadsheet::WriteExcel->new('test.xls');      
 #  新建一个样式  
 $format = $workbook->add_format(); # Add a format  
 $format->set_bold();#设置字体为粗体  
 $format->set_color('red');#设置单元格前景色为红色  
 $format->set_align('center');#设置单元格居中  
for($index=3;$index<=$files;$index++){
$filename = @dots[$index-1];
#print $filename;
#print "\n";
#print @dots; 
 # 添加一个工作表  
$worksheet = $workbook->add_worksheet($filename);  
$name = join "","C:\\Perl\\res\\",$filename;
open(ResFile,$name) or die"open F error:$!";
$row = 0;
while(defined($line=<ResFile>))
{
@filter = split /resourcedef /,$line;#找到resourcedef 字符串切割
if(@filter == 2)
{
#@filter = split /(\s*= StringT \()|(=StringT \()/,@filter[1];#filter包涵两个字符串,取第二个字串以 = StringT \(切割
@filter = split /(\s*=\s*StringT\s*\()/,@filter[1];#filter包涵两个字符串,取第二个字串以 = StringT \(切割
#print @filter;
chomp @filter;#去掉换行符号
$line=<ResFile>;
$line=<ResFile>;
$line=<ResFile>;
$line=<ResFile>;
$_ = $line;#读取到中文行
s/^\s+"//;#去除开头的空格和制表符以及第一个引号
s/"$//;#去掉末尾的引号
#$string = join "\t",@filter[0],encode("gbk",decode("utf8",$_));#IDS与中文符号以制表符相连,显示在同一行
#print $string;
$worksheet->write($row,0, @filter[0]);
$worksheet->write($row,1, decode('GB2312', encode("gbk",decode("utf8",$_))));#编码方式不对的时候,可能输出空//同下$worksheet->write($row,0,encode("gbk",'星星'));
#$worksheet->write($row,1, encode("gbk",decode("utf8",$_)));
#$ch = join " ","",encode("gbk",decode("utf8",$_));
#$worksheet->write($row,1,"123");
$row++;
}
}



 exit;   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值