文本编辑器有正则替换功能么。专指大小写转换

2015-03-25 16:25:35 +08:00
 jianghu52
比如我有这样几个字段
sss_id_user
ddd_xty_id
ddd_Tty_id
ddd_Uty_id
我需要把下划线后面小写字母的文字首字母变成大写。也就是需要如下结果
sss_Id_User
ddd_Xty_Id
ddd_Tty_Id
ddd_Uty_Id
我用emeditor 或者 everedit 都可以用正则/_[a-z]/ 定位到该文字,但是问题是怎么能替换呢。
我替换部分 写 /_[A-Z]/不对啊
5573 次点击
所在节点    问与答
16 条回复
rrfeng
2015-03-25 16:27:15 +08:00
替换 26 次即可……
b821025551b
2015-03-25 16:32:17 +08:00
写个程序替换26次 LOL~
TimLang
2015-03-25 16:34:13 +08:00
vim的替换法::%s/\([^_]\+\)_\([^_]\+\)$/\u\1_\u\2/g
jianghu52
2015-03-25 16:35:13 +08:00
@rrfeng 那还要毛替换啊
@b821025551b 要是我自己用,直接一个python脚本搞定,关键是给别人用。
jianghu52
2015-03-25 16:36:25 +08:00
@TimLang 咱能用低端点么。notpad++, editplus都行,给windows客户端用的。太高端了接受不了
TimLang
2015-03-25 16:37:21 +08:00
@jianghu52 windows有Gvim啊。
a0000
2015-03-25 16:45:59 +08:00
@jianghu52 EditPlus 在查找里写(_[a-z])在替换里写\U\0 (注:把正则表达示(X)和支持\U\L\E 这两项勾上就好了)
jianghu52
2015-03-25 17:13:03 +08:00
@a0000 请教你的editplus 是什么版本,我的是3.0版本,没有看到有支持 \U\L的选项啊
aec4d
2015-03-25 17:16:23 +08:00
@a0000 同上。。。
还真没想到有这功能~~http://stackoverflow.com/questions/1039226/regex-to-change-to-sentence-case
用正则 查找栏写_([a-z]) 替换栏写_\u\1
aec4d
2015-03-25 17:16:44 +08:00
以上使用Notepad++
joyeblue
2015-03-25 17:51:05 +08:00
notepad++:

<ctrl+h> 调出替换窗口
查找目标:_([a-z])
替换为: _\u\1

注意,一定要勾选替换窗口最下面的 正则表达式选项
jun4rui
2015-03-25 18:50:10 +08:00
如果都是对齐的数据,都不需要正则啊,块选择或者多选择,然后按快捷键变成大写。jetbrains系列和sublimetext都可以vim我记得也有块选择
jun4rui
2015-03-25 18:51:31 +08:00
格式稍微有些变化不再一列的话,很多时候用宏也可以处理,例如按住ctrl+方向键右边几次,选择一个字符,转换成大写。很老的EditPlus2都可以
xiaohanqing
2015-03-25 20:36:40 +08:00
notopad++支持正则,还支持键盘宏
a0000
2015-03-25 23:40:04 +08:00
@jianghu52 我的EditPlus是V3.51版本的
everedit
2015-03-27 10:19:36 +08:00
EverEdit支持js脚本,js支持大小写转换。
以下脚本另存为[我的替换.ejs]到EE的macro目录,然后别人就可以随便点击替换了。

var str = ActiveDoc.Text;
str = str.replace(/_[a-z]/g, function($1) {
return $1.toLocaleUpperCase();
});
ActiveDoc.Text = str;

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/179286

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX