问题标签 [fixed-width]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
7 回答
29492 浏览

c# - 从文本文件中读取固定宽度的记录

我有一个充满记录的文本文件,其中每条记录中的每个字段都是固定宽度。我的第一种方法是简单地使用 string.Substring() 解析每条记录。有没有更好的办法?

例如,格式可以描述为:

一个包含两条记录的示例文件可能如下所示:

我只是想确保我没有忽略比 Substring() 更优雅的方式。


更新: 我最终使用了 Killersponge 建议的正则表达式:

然后我使用以下内容访问这些字段:

0 投票
2 回答
155 浏览

fixed-width - 固定宽度,大数据问题

我目前正在设计一个 Web 应用程序,人们可以在各种分辨率 1024..1920 甚至更大的分辨率下查看它。

我选择了固定宽度的设计(就像许多其他流行的网站一样,例如 StackOverflow、CNNMintWSJBofA等),其中最小的公分母适合,即 1024。

现在的一个问题是,在我的应用程序的某些页面上,我必须显示基于网格的数据。我认为如果我将他们限制为 1024 宽度的压缩网格数据同时让他们的大部分屏幕保持空白,我真的会激怒那些拥有大屏幕的人。

考虑过为不同的分辨率制作不同的样式表等,但这会增加我所能管理的大部分维护工作、图形工作等。

你有什么想法可以解决这个问题吗?本身?

0 投票
2 回答
1138 浏览

c++ - Portable C++ 03 精确宽度类型

背景


不幸的是,当前的 C++ 标准缺少在stdint标头中定义的 C99 的精确宽度类型。

我能找到的下一个最好的东西(就可移植性而言)是从库中实现Boost的。cstdint.hppBoost.Integer

关注点


也就是说,我遇到了一些问题:

Boost的实现转储所有的typedefs boost namesapce(而不是类似的东西boost::stdint)。这非常难看,因为现在您要么被迫using仅对您感兴趣的类型使用 -directive(这是一项额外的维护工作),要么将整个boost namespace指令带入全局¹范围(这违背了namespaces的观点)。例如,我当然可以很冗长,boost::uint32_t到处打字,但这也不是很适合未来的²。

问题


我基本上是在寻求建议。尽可能透明地利用这些尚不标准(无论如何都不是在 C++ '03 中)类型的最佳方法是什么?

对于那些使用此标头或滚动您自己的标头的人,您如何使用这些类型?盲目地把 's 合并boost namespace到全局namespace中,用“”前缀所有的东西boost::,写一个包装Boost.Integer's的标题cstdint.hpp,等等?

任何建议表示赞赏。

最后,说了这么多(顺便说一句,这不是咆哮),我正在编写数学密集型代码,所以宽度保证对我来说很重要。

澄清


1 - 当我编写class template将这些类型作为参数的函数/s 时,全局范围是我唯一的选择。

2 - 当标准的下一次迭代包含stdint.hcstdint时,我会遇到一堆以“ boost::”为前缀的代码。那么,这将是一个完全无用的额外依赖项(即“boost/cstdint.hpp”)。

0 投票
6 回答
7928 浏览

perl - How can I extract columns from a fixed-width format in Perl?

I'm writing a Perl script to run through and grab various data elements such as:

I can grab each line of this text file no problem.

I have working regex to grab each of those fields. Once I have the line in a variable, i.e. $line - how can I grab each of those fields and place them into their own variables even though they have different delimiters?

0 投票
3 回答
1014 浏览

html - html 显示中未保留 Perl 格式 (iesprintf)

我遇到了一些问题。最初,我有以下格式的输入:

我将第一列保存为 $num,将第二列保存为 $fruit。我希望输出看起来像这样(见下文)。我希望输出对齐,就好像 $num 的长度一样。实际上,$num 将由可变长度的数字组成。

按照建议,我使用以下代码:

此解决方案在命令行显示中效果很好,但是当我尝试通过 HTML 显示此格式时,不会保留此格式。例如..

这会产生与格式化前的原始输出相同的输出。你们对我如何在基于 web 的 html 显示中保留 sprintf 格式有什么建议吗?我尝试用空格填充 $num,但以下代码似乎对我不起作用。

无论如何,我将不胜感激任何建议。谢谢!

0 投票
6 回答
769 浏览

perl - 如何加快 Perl 对固定宽度数据的处理速度?

我们有一套成熟的代码,可以将文件中的数据加载到数据库中。有几种文件格式;它们都是固定宽度的字段。

部分代码使用 Perlunpack()函数将输入数据中的字段读取到包变量中。然后,业务逻辑能够以“人类可读”的方式引用这些字段。

文件读取代码在读取文件之前由格式描述生成一次。

在草图形式中,生成的代码如下所示:

分析代码显示,大约 35% 的时间花在解包和前导空格条上。剩余时间用于验证和转换数据以及写入输出文件。

似乎没有任何一个业务逻辑部分占用超过 1-2% 的运行时间。

问题是——我们能否以某种方式从拆包和空间剥离中获得更快的速度?最好不必重构所有引用 FIELDS 包变量的代码。

编辑:

万一它有所作为

0 投票
10 回答
56503 浏览

java - 在 Java 中解析固定宽度格式的文件

我从供应商那里得到一个文件,每行有 115 个固定宽度的字段。如何将该文件解析为 115 个字段,以便在我的代码中使用它们?

我的第一个想法就是为每个字段创建常量,例如NAME_START_POSITIONandNAME_LENGTH和 using substring。这看起来很丑,所以我很好奇更好的方法。谷歌搜索的几个图书馆似乎也没有一个更好。

0 投票
2 回答
9778 浏览

google-chrome - div(或其他标签)上的 Chrome 和固定宽度

我有一些看起来像这样的html:

在 IE.8 中,这显示为

并且所有的“维生素”都很好地排列在一起。在 Chrome 中,没有创建间隙,因此渲染得不好。

问题是:这是 Chrome 的问题/错误,还是因为 html 不正确而 ie8(在这种情况下)只是更好地猜测我的意图?

0 投票
2 回答
582 浏览

css - 为什么我的菜单 DIV 溢出其父级?

菜单 div 溢出了父级。

“科学只是对自身的一种变态……”

0 投票
1 回答
1416 浏览

java - 在 Netbeans 中使用位图字体

是否可以在 Netbeans 中使用位图 (.fon) 字体?我有一种我特别喜欢的字体(Raize font),当我尝试将它设置为编辑器字体时,我在列表中的任何地方都看不到它。我可以在其他编辑器(Notepad++、pspad、visual c++ express 等)中使用它。我也不能在 jedit 中使用它。这个问题与java有关吗?