背景:
语言是JavaScript。目标是找到一个库或预先存在的代码来执行低级别的纯文本格式设置。
我可以自己写,但为什么要重新发明轮子呢?问题是:很难确定是否有“轮子”存在,因为对JavaScript库的任何搜索都会带来大量以HTML为中心的东西。我不一定对HTML感兴趣,只对文本感兴趣。
示例:
我需要一个JavaScript函数来改变这一点:
在此之前
nisi ut aliquip | ex ea commodo consequat duis |aute irure dolor in
esse cillum dolore | eu fugiat nulla pariatur |excepteur sint occa
in culpa qui | officia deserunt mollit anim id |est laborum
..。进入这个..。
之后:
nisi ut aliquip | ex ea commodo consequat duis | aute irure dolor in
esse cillum dolore | eu fugiat nulla pariatur | excepteur sint occa
in culpa qui | officia deserunt mollit anim id | est laborum
问题:
它是否存在,一个以非html-web开发为中心的JavaScript库,它具有在分隔的纯文本中对空格进行规范化、对纯文本进行合理设置和间距的功能?
的基本原理:
研究在程序员的文本编辑器中使用的JavaScript。
发布于 2014-10-27 16:48:19
内置的String
方法实际上是低级的,但是您可以基于它们构建自己的方法。为了简化这个任务,您可以使用现有的字符串操作库(如underscore.string ),或者至少在那里获得一些灵感。
下面是在Firefox 36和Chrome 43中测试的示例问题的解决方案:
http://jsfiddle.net/46a7bexs/7/
其基本思想是将整个文本分割成一个行数组,然后在每个|
字符上拆分它们(同时去掉空格),并将所有内容存储在一个类似于表的变量中(实际上是一个二维数组)。
在接下来的步骤中,它遍历所有的“单元格”,并计算出每列的最大字符串长度。
最后,将条目填充到最大的列宽,并将其连接回gether。
我确信可以用更少的代码和更高的效率来完成它,但是由于没有人发布解决这个问题的方法,我想我可以共享我的直接代码。
发布于 2010-03-12 21:39:49
我从来没有听说过,因为你的尝试可能不太受欢迎。
您可能必须基于JavaScript内置字符串函数构建自己的函数。
发布于 2010-03-12 19:51:35
当然,大部分内容都适合在浏览器中使用,但本质上,任何函数添加到字符串原型中的内容都应该对您有所帮助。请看一下这里的一些功能:
http://code.delacap.com/p/js-methods/docs/string.html
然后你可以添加你自己的:
String.prototype.myFunc = function(){
//...
};
"someStr".myfunc();
https://stackoverflow.com/questions/2435301
复制相似问题