标题:
[文本处理]
请问哪种语言处理文本最强大而不失真
[打印本页]
作者:
踏沙行
时间:
2018-9-21 12:03
标题:
请问哪种语言处理文本最强大而不失真
最近学习bat发现特别吃力,原因是对文本的限制太多,比如一行不能超过8192,比如不能包含特殊字符。比如不兼容unicode编码
如果要替换文本中的星号,都特别麻烦
后来学习了sed,发觉确定简洁和强大多了。但是sed和bat混用的时候,对于变量延迟的要求特别严格,不小心会出错。
这几天发现,sed在替换字符串时,如果遇到有"\",会自动把斜杠抛弃。
请问,哪种语言对文本的读、写、改,能够最大程度的实现原汁原味,而不”擅自”处理?
作者:
Batcher
时间:
2018-9-21 12:45
试试PowerShell吧
作者:
CrLf
时间:
2018-9-21 14:46
perl很擅长文本处理 ,不过更建议学python,延展性更大
作者:
523066680
时间:
2018-9-21 14:51
有很多语言都支持,需要掌握一定的编码知识。
作者:
踏沙行
时间:
2018-9-21 16:38
很早听说perl是处理文本最强大的语言,后来才有了python,有些纠结不知道该学哪个
不过谢谢大家的指导
作者:
523066680
时间:
2018-9-21 17:31
现在学python是主流,可以做很多狂拽酷炫的事情,也可以做实用工具。
作者:
codegay
时间:
2018-9-23 04:23
楼主能学会SED学其它语言应该没有什么问题。
基本上能学会一门编程语言的基础再去学其它编程都很容易。
如果要学python, 推荐直接学python3
编码的问题,如果UTF8可以满足的话,各个环节上尽量统一使用UTF8编码保存你的代码和文本内容。
这样可以省掉很多不必要的麻烦。
作者:
踏沙行
时间:
2018-9-23 06:36
回复
7#
codegay
谢谢,似乎sed、awk、grep,不少语言也支持使用吧。毕竟三剑客处理文本的功能很强大。
但不知道python中,有没有什么命令可以代替甚至超越sed?
作者:
踏沙行
时间:
2018-9-23 06:36
回复
7#
codegay
谢谢,似乎sed、awk、grep,不少语言也支持使用吧。毕竟三剑客处理文本的功能很强大。
但不知道python中,有没有什么命令可以代替甚至超越sed?
作者:
codegay
时间:
2018-9-23 08:35
本帖最后由 codegay 于 2018-9-23 08:40 编辑
回复
9#
踏沙行
这些工具都统一支持的文本处理规则叫正则表达式,编程语言里以库的形式来支持和兼容正则表达式。不同编程语言里的正则表达大体都相同。只是一些符号细节表达方式不同。
python的标准正则表达库是re
第三方有一个非常强大的正则表达式库叫做regex
https://www.cnblogs.com/gayhub/p/6354097.html
你先踏实把语言学入门了吧。没有基础是用不了的。
作者:
踏沙行
时间:
2018-9-24 11:42
回复
10#
codegay
OK,谢谢
regex的库果然厉害,\p{han}、\p{latin}这样的匹配,厉害了
作者:
Batcher
时间:
2018-9-24 19:53
支持Python
欢迎光临 批处理之家 (http://bbs.bathome.net/)
Powered by Discuz! 7.2