替换一串符号(包括回车符)

替换一串符号(包括回车符)

这是边界,但我不知道如何在 Texstudio 中做到这一点。

我想更换所有

\[
\begin{myenv}

经过,

\begin{equation*}
\begin{myenv}

与闭包相同,

\end{myenv}
\]

\end{myenv}
\end{equation*}

问题是键盘的 ENTER 键上有一个回车符。如果它改变了一些东西,我就在 Windows 上。

答案1

首先,让我在 Linux 中创建一个包含两个单词和两个回车符的 MWE 文件:

$ echo Hello > test.tex
$ echo Word  >> test.tex

您在test.tex文本编辑器中或使用中看到的内容$ cat test.tex是:

Hello
Word

你真正拥有的是......

$hd test.tex
00000000  48 65 6c 6c 6f 0a 57 6f  72 64 0a                 |Hello.Word.|
0000000b

...或者 ...

$ cat infile | od -c
0000000   H   e   l   l   o  \n   W   o   r   d  \n
0000013

...或者 ...

$cat -vte
Hello$ 
allWord$

然后,隐藏的符号$0a(十六进制)或\n(新行),即回车 换行在 Linux 中。请注意,在 Windows 文件中,新行可能被编码为^M\r\n其中\r(0d) 是回车\n换行

因此,您需要一个能够查找和替换包含隐藏符号的字符串的工具。为简单起见,假设您有一个只有 的 Unix 类型文件\n,您可以使用 来执行此操作sed。对于此序列:

\[
\begin{myenv}

你可以做:

$ sed 's/\[$/\begin\{equation\*\}/g' test.tex 
\begin{equation*}
\begin{myenv}

(将> file.tex您想要保存的结果附加到file.tex

类似地,使用vim文本编辑器您可以执行以下操作:

:%s/\\\[$/\\begin\{equation\*\}/

Vim以及sed默认存在于任何 Linux 中,但也有适用于 Windows 的版本(未经测试)。

如果您不喜欢处理转义字符,此功能在某些文本编辑器和文字处理器中也可用,这些文本编辑器和文字处理器在搜索工具中有一些正则表达式选项。Linux 和 Windows 中可以执行此操作的一个常见程序是 Libreoffice,因此您可以将代码粘贴到此程序中,然后Ctrl-Alt-B> 检查Other options>Regular expressions复选框(或类似的东西。抱歉,我只是根据西班牙语版本猜测),然后按照图像所示进行搜索和替换,最后将结果复制并粘贴到 Texstudio 中。

编辑:以上都不需要,因为 TeXstudio 可以做到这一点(我错误地认为由于问题而相反)。您只需要Regexp在完成后选中该选项Ctrl-R并输入字符串,就像在 Libreoffice 示例中一样。我为使用更简单编辑器的用户留下了另一种解决方案。

平均能量损失

相关内容