问题标签 [end-of-line]

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 投票
2 回答
865 浏览

java - JEdi​​torPane 是最后一行

使用 JEditorPane,有没有办法判断插入符号当前是否在最后一行?我在 API 中找不到任何东西,或者更重要的是,在派生 JEditorPane 的 JTextComponent 中找不到任何东西。当用户使用向下箭头键向下移动文本时,我需要找出这一点。我目前的想法是这样的:

此代码将在按下向下键时运行,并通过检测是否发生错误来返回它是否实际上是文本的结尾,如果插入符号被放在最后可能的位置(即行尾)之后(如果它实际上是最后一行)否则意味着尚未到达文本的结尾。

0 投票
4 回答
25186 浏览

vim - Vim 在最后一行或 eof 上没有行尾

我正在尝试设置 vim 以跳过在最后一行或 eof 上添加 eol,我已经尝试过

这并不完美,因为二进制覆盖文件类型供以后使用。

设置此选项的任何其他选项,我不需要在最后一行换行。

0 投票
2 回答
2718 浏览

bash - sed 过滤器替换 '!' 句号和“!!” 行尾的句点

我想编写一个 sed 过滤器,将其输入中的所有句点更改为感叹号,除非句点位于行尾,在这种情况下,句点将替换为 2 个感叹号(即 !!)。

到目前为止,这就是我所拥有的:

其中 input_exp 是一个包含几句话的文件。该命令不起作用。'\n' 不是 unix/bash 中正确的行尾字符吗?在'\n'之前我需要一个额外的'\'吗?

谢谢你的帮助。

0 投票
4 回答
2227 浏览

python - Python:指定读取文件的行尾格式

我正在编写一个处理文本文件的 Python 脚本。我希望处理由不同人生成的文件,在不同的操作系统下工作。有没有一种很好的方法来确定哪个操作系统创建了文本文件,并指定行尾约定以使逐行解析变得微不足道?

0 投票
1 回答
524 浏览

svn - 使用 Tortoise SVN 在 C++ 中尾随行尾

我是使用 SVN 进行源代码控制的团队的新手。我自己已经习惯了 Git,所以对于 SVN 的所有用于跟踪文件的提交前/签出后过滤器,我真的很茫然。

我已经使用 TortoiseSVN(在 Windows 上)提交了一些带有符合标准的尾随行尾的 C++ 源代码。一位同样在 Windows 上使用 TortoiseSVN GUI 客户端的同事看到的文件与我提交的文件相同:它们有尾随\n的 . 另一个使用svnLinux 上的命令行客户端并看到没有尾随的文件\n

使用基于 Web 的 Visual SVN 服务器源代码浏览器查看文件,我们可以看到提交的源文件包含结尾的\n. 这让我觉得问题出在两个 TortoiseSVN 用户的客户端。此外,如果我提交一个带有两个尾随\n字符的文件,则只会删除其中一个。

问题:如何禁用此行为,以便源文件完全按照我提交的方式进行修改?我所有的编辑器都配置为生成 UTF-8 编码的文本,只有空格(没有制表符)和 Unix 行尾,并\n自动添加尾随。我希望按原样提交。

0 投票
1 回答
1251 浏览

cross-platform - 在 C++ 中跨平台处理行尾字符

我正忙于编写一个通用的文本文件阅读器类,我正在努力编写代码以正确处理 Mac、Linux 和 Windows 的行尾 (EOL) 字符。

我已经对该问题进行了一些阅读,并在我的 TextFileReader 类中提出了以下函数来去除 EOL 字符,一旦我使用 getline() 读取了文本文件的内容并将字符串存储在地图中。

我认为这会消除跨平台的所有 EOL 字符,但似乎并非如此。它在我的 Mac 上运行良好,运行 Mac OS 10.5.8。不过,它似乎不适用于 Windows 系统。奇怪的是,在运行此函数的 Windows 系统上,会去除映射中第一个字符串的 EOL 字符,而其余字符仍然是一个字符太长。

这让我想到,也许我不能只替换“\r”和“\n”字符,但我读到的所有内容都表明这是 Windows 用来表示 EOL 字符的两者的组合。

为了使其更明确,这是我正在尝试做的逐步布局。我有两个名为 testFileMadeWithWindows.txt 和 testFileMadeWithMac.txt 的文本文件。

在 Windows 机器上用记事本打开第一个文件,它包含以下内容。

这是第 1 行。

这是第 2 行。

这是第 3 行。

在 Mac 上使用 TextEdit 打开第二个文件,它包含以下内容。

这是第 1 行。

这是第 2 行。

这是第 3 行。

换句话说,两个文件的文件内容应该是相同的。我想使用我的 FileReader 类读取这两个文件并将字符串存储在地图中。为此,我使用 getline() 函数。

当我使用 getline() 读取 testFileMadeWithWindows.txt 时,结果显示字符串大小如下:

16

16

15

同样,当我使用 getline() 读取 testFileMadeWithMac.txt 时,结果显示字符串大小如下:

16

16

15

我现在执行我在第一篇关于包含此数据的地图上发布的 stripEndOfLineCharacters() 函数。

对于 testFileMadeWithWindows.txt,这会产生以下字符串大小:

15

16

15

对于 testFileMadeWithMac.txt,这会产生以下字符串大小:

15

15

15

我使用 string::compare 将我从文本文件中读取的字符串与预期的字符串数据进行比较,这应该是:

这是第 1 行。

这是第 2 行。

这是第 3 行。

Windows 比较失败,特别是与第二行的比较失败。Mac 比较对于所有三个字符串都是成功的。我想知道如何解决这个问题,以便 Windows 比较也成功。

任何输入将不胜感激。提前致谢!

卡提克

0 投票
1 回答
2983 浏览

windows - 如何创建包含行尾控制字符的 SAS 固定格式输出?

我正在使用 SAS 的 FILE 语句来输出具有固定格式 (RECFM=F) 的文本文件。我希望每一行都以换行符/回车符之类的行尾控制字符结尾。我尝试了 FILE 语句的选项 TERMSTR=CRLF 但我仍然在输出文件中看不到行尾控制字符。我想我可以使用 PUT 语句插入所需的换行和回车控制字符,但更喜欢更简洁的方法。对 FILE 语句的期望是合理的吗?(输出固定格式数据是否合理预期?)(平台:Windows v6.1.7600,SAS for Windows v9.2 TS Level 2M3 W32_VSPRO平台)

0 投票
3 回答
5927 浏览

regex - 正则表达式:匹配行尾之前的文本

我有一个看起来像这样的文件:

我想匹配第6 列中的最终值,以便将其从列表中删除。第 6 列中的值的长度未确定,可以包含任何字符。所以我想做的是匹配空格之前的最终值。或只是行尾。


代码:

我想要做的是让文件看起来像这样:


问题:

  • 任何人都可以为此提供一个正则表达式吗?

编辑:

添加代码:

0 投票
2 回答
19490 浏览

c++ - 将端线插入字符串流

我们知道,当插入\n文件流时,系统的适当行尾序列将被写入文件(例如\r\n对于 Windows)。插入结束行是否会std::stringstream导致将适合系统的行尾序列写入字符串?例如:

0 投票
2 回答
608 浏览

regex - 正则表达式:选择不包含 3 个分号的行的行尾字符

我在 EditpadLite 中使用了启用 Regex 的 Search&Replace 功能。我的文档看起来像这样

问题; 每行应包含 4 ;符号,因此第 3 行和第 6 行需要在行尾附加分号,方法是将 \n 替换为 ;\n。我试过了:

选择前面没有正好包含 3 个分号的行的行尾字符。但是,这不起作用,因为我认为分号不是连续的。有替代方案吗?