为文本做个查找替换

Even713 2010-06-22 01:29:05
有个文件,里面有很多变量命名规则是单词与单词间用“-”连接的,如:page-user-name这样
现在我要把这样的单词变成驼峰命名的单词如pageUserName这样。
怎样用正则表达式一下子替换呢?
谢谢各位!
...全文
166 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
估计楼主这个文件是特别的专门文件吧,否则怎么可能用-作连字符呢,正常的变量标识符根本不支持-,会当作减法运算符处理。

既然是这样专门的文件,那8楼的工具完全可以实现,而且所谓的意外情况应该不多,文件内容楼主自己最清楚,而且至少也是一个星星了,不该这样犹豫吧。
W8746988 2010-06-22
  • 打赏
  • 举报
回复
http://hi.csdn.net/invite.php?u=3370434&c=9cb528505d2f42a0 加好友谢谢!
Even713 2010-06-22
  • 打赏
  • 举报
回复
嗯,先谢谢amani11的热心,还有qingralf的办法。
能帮我再做个正则吗?
http://topic.csdn.net/u/20100622/15/9a363790-5fe8-453c-b49b-b583e0b39688.html?63738
amani11 2010-06-22
  • 打赏
  • 举报
回复
我觉得,你备份好文件了,这是一定的

接着写程序去替换了再说,多测试,到时候出了什么问题,该手工就手工改、该重新替换,就重新替换,

很多文件逐一观察,确实困难啊
qingralf 2010-06-22
  • 打赏
  • 举报
回复
我有个非常笨的办法.
用类似eclipse的工具加载项目.
点查找替换..
查找-a替换为A,然后查找-b替换为B.是这个-么?好似_比较对吧.-和减号一样哦.不能当变量名吧.
依次26次..
因为我就非常笨
Even713 2010-06-22
  • 打赏
  • 举报
回复
有很多文件,替换要非常小心,比如,我用-[a-z]去找,替换的时候用函数uppercase字母就好了,但是我要替换所有变量名,如果其他的地方也有-[a-z]的匹配也就被替换掉了,或者还有没考虑到的情况,而且自己也不知道。不知道有什么好方法吗
amani11 2010-06-22
  • 打赏
  • 举报
回复
当然啦,你有什么环境,就用什么语言呗,没几行就搞定了
amani11 2010-06-22
  • 打赏
  • 举报
回复
我不知道,你多少文件,我觉得我5楼代码

加上目录遍历,就可以替换了呀,我是觉得几万个文件的话,也不需要很久吧?

那个是我随手找的,毕竟是个通用工具么。。。。我不知道有没有现成的,可以满足你要求的,上面贴出只是参考
Even713 2010-06-22
  • 打赏
  • 举报
回复
这类工具在很多文本编辑器中都是有的,如editplus,notepad++。
谢谢楼上的。
但这个工具貌似也不能解决我的具体问题,因为它不能指定替换文本成大写字母吧?
比如,我是用正则找到了page-user-name,但怎么变成pageUserName呢?
amani11 2010-06-22
  • 打赏
  • 举报
回复
添加外链没问题么
上面我贴的工具,地址

http://www.yes1000.com/Yes1000Soft/TextFile-Batch-Replace-Soft.htm,下面有下载链接的

以前自己写过万能代码转换,字符替换,等小工具,不过随着一次笔记本被盗,再也没心情自己写了,哎......
顺便怀念我的前任笔记本
jiestyle21 2010-06-22
  • 打赏
  • 举报
回复
楼上太可爱了~善用工具者
amani11 2010-06-22
  • 打赏
  • 举报
回复
有工具的,,,整个目录下文件正则批量替换的,


程序指定目录也不费事吧,别说百万个文件或者更多啊


类似这种
Even713 2010-06-22
  • 打赏
  • 举报
回复
有什么比较好的文本替换工具吗?谁能推荐一下
Even713 2010-06-22
  • 打赏
  • 举报
回复
我想会正则的做个单一的文本替换不是难事。
我现在遇到个很烦的问题。
就是有大批量的这样的文件存在,我要把里面的变量命名方法都改掉,有什么快速超找替换的方法吗?
amani11 2010-06-22
  • 打赏
  • 举报
回复

//php写个
$str = "page-user-name page-user-name";
function upCase($code)
{
return strtoupper(str_replace("-", "", $code[0]));
}
echo preg_replace_callback("/-[a-z]/", "upCase", $str);
Even713 2010-06-22
  • 打赏
  • 举报
回复
谢谢zswang,我现在遇到个很烦的问题。
就是有大批量的这样的文件存在,我要把里面的变量命名方法都改掉,有什么快速超找替换的方法吗?谢谢你啦!!
a124819202 2010-06-22
  • 打赏
  • 举报
回复
luojihaidao 2010-06-22
  • 打赏
  • 举报
回复
function($0, $1) {
return $1.toUpperCase();
}

学习了。
王集鹄 2010-06-22
  • 打赏
  • 举报
回复
var str = "page-user-name = 2; page-user-age = 3;";
str = str.replace(/-([a-z])/g, function($0, $1) {
return $1.toUpperCase();
});
document.open();
document.write(str);
document.close();


输出:
pageUserName = 2; pageUserAge = 3;

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧