下划线拼接
如果是用下划线_
来拼接的话,那么非常简单。
例如user_name
、price_earnings_ratio
、html_a_content
,我们通过下划线_
分割,然后从第二个项开始,首字母大写。
示例代码:
1 | l = ['user_name', 'price_earnings_ratio', 'html_a_content'] |
运行结果:
1 | user_name |
解释说明:
.title()
:首字母大写。
连续的
但,如果是连续的呢?
例如,username
、priceearningsratio
、htmlacontent
这个时候,就需要借助第三方的包wordninja
。
分词
分词的方法为:wordninja.split(被分词的对象)
示例代码:
1 | import wordninja |
运行结果:
1 | ['i', 'love', 'china'] |
小驼峰
将连续的英文字符串转成小驼峰(Python),示例代码:
1 | import wordninja |
运行结果:
1 | username |
修改词库
我们看到username
,结果依旧是username
。
wordninja是基于维基百科语料的频率来进行分词的,如果想对特有名词进行正确分割,需要修改词库,将特有名词加入词库中。
我们可以通过如下的地址 https://github.com/keredson/wordninja/ ,找到词库,在wordninja
目录下,wordninja_words.txt.gz
。
解压后,我们添加单词user
,并删去username
,然后重新打成.gz
包
示例代码:
1 | import wordninja |
运行结果:
1 | username |
关于打成.gz
包:
- 在macOS和Linux中,系统都自带了压缩成
.gz
包的命令。macOS和Linux都可以参考《Linux操作系统使用入门:2.命令》中"压缩和解压"部分的"gzip gunzip"。 - Windows需要借助第三方的工具。
实际上,这些字段,都是数据库中的字段,这个小技巧的背景也就是数据库中字段的映射。
所以,接下来还可以做很多事情,包括用Python直接生成Java语言的代码。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Kaka Wan Yifan。
留言板