我使用Visual Studio Code,我遇到一个1000行长的.md
文档的问题,其中通常每行包含一个或多个句子。
我希望用竖线(一个从左边,一个从右边,带有各自的空格(来包装每个句子,以便将长长的句子列表转换为(单列(降价表。
电流输入
sentence
所需输入
| Sentence |
或:
| Sentence. Sentence |
等等...
我是怎么想的
通常,我可以将输入光标(l-beam光标(放在文本字段中字符旁边的任何位置;
我假设任何这样的"地方"(我可以放置输入光标的地方(都可以被命名为"字符占位符"(CP(。
我假设 CP 是按字符创建的(例如,只有一个字符的行将包含两个 CP(,如果是这样,则可以自由匹配 CP1 和 CP2(或 CP0 和 CP1 - 取决于基本索引(,分别在该字符之前和之后。
我想命令VSCODE在每行第一个字符之前的CP中添加一个竖线和一个相应的空白区域(|U+0020
(,以及在每行最后一个字符(U+0020|
(之后可用的CP中
我的问题
由于我只知道使用正则表达式匹配字符(或字符集(本身的方法,但我不知道如何仅匹配 CP,因此我问:
如果有的话,如何将 CP 与当前技术相匹配,以便命令程序在 CP Y 中添加数据 X?
这很容易用正则表达式完成。 正则表达式具有"开始"和"结束"字符串的标识符。(根据您的输入,您可以将每个句子视为自己的字符串(。
为了匹配字符串的开头,正则表达式是 -^
而要匹配字符串的结尾,正则表达式是$
。
现在要实现您的请求,您需要做的就是使用 - 匹配整条生产线 -^(.*?)$
并将其替换为|s$1s|
($1
是对捕获组的反向引用(它看起来像 -Search ^(.*)$ Replace |s$1s|