我的文件中有一长串(约100k行)字符串,如下所示:
job_title <- map["job_title"]
....
我想做一些替换,让它像这样:
jobTitle <- map["job_title"]
所以我只需将_t
替换为T
,但我只想要左侧。
答案 0 :(得分:2)
如果您将_t
替换为T
,则无论上下文如何,您都会将所有_t
替换为T
。
您可以尝试匹配所有"..."
子字符串并跳过它们,然后匹配_
之后的任何字母并将其转换为大写字母。如何匹配"..."
子字符串取决于转义的实体是否可能出现在您的文本中。
如果没有转义引号,
搜索:"[^"]*"(*SKIP)(?!)|_([A-Za-z])
替换:\u$1
如果可以转义报价:
搜索:"[^"\\]*(?:\\.[^"\\]*)*"(*SKIP)(?!)|_([A-Za-z])
替换:\u$1
<强>详情:
"[^"\\]*(?:\\.[^"\\]*)*"(*SKIP)(?!)
- 一个"..."
子字符串(匹配"
,然后是"
和\
以外的任何0 +字符,然后是任意0 +序列转义字符{\\.
)后跟除"
和\
以外的任何0 +字符,然后是"
)匹配后再从匹配中删除,以及下一个在当前比赛结束后搜索匹配(由于(*SKIP)(?!)
)|
- 或_
- _
字符([A-Za-z])
- 捕获第1组:任何ASCII字母替换中的\u
运算符使其后面的第一个char变为大写。 $1
代表用([a-zA-Z])
抓取的信件。
答案 1 :(得分:0)
在您的情况下不需要正则表达式(按Ctr + H并替换所有)
替换
job_title <
使用:
jobTitle <
答案 2 :(得分:0)