Bob*_*b J 42 script notepad++ regex
我试图在 Notepad++ 中的一列之后摆脱所有内容。列模式不是一种选择。是否可以?
我拥有的:
70.97.110.40 159 ms [n/a] 21
70.97.117.177 134 ms [n/a] 21
70.97.120.10 75 ms [n/a] 21
70.97.122.105 87 ms www.portless.net 21
70.97.122.106 89 ms www.popovetsky.org 21
70.97.122.107 95 ms www.psmythe.net 21
70.97.122.104 98 ms wasabi.prostructure.com 21
70.97.122.108 89 ms crm.prostructure.com 21
70.97.122.109 87 ms internal.prostructure.com21
Run Code Online (Sandbox Code Playgroud)
我想要的是:
70.97.110.40
70.97.117.177
70.97.120.10
70.97.122.105
70.97.122.106
70.97.122.107
70.97.122.104
70.97.122.108
70.97.122.109
Run Code Online (Sandbox Code Playgroud)
ash*_*ral 99
这是一个更简单的正则表达式,您可以使用它来实现相同的效果。代替
.*
Run Code Online (Sandbox Code Playgroud)
(注意前导空格)
一无所有。这将删除第一个空格之后的所有内容,包括第一个空格。只要您的 IP 地址从不以任何空格作为前缀(如您的示例中的情况),这就会起作用。
Exc*_*lll 62
如果第一列中的数据从不包含空格,您可以使用正则表达式查找和替换来获取所需内容。
在正则表达式模式下,搜索:
^([^ ]*).*
Run Code Online (Sandbox Code Playgroud)
并替换为
\1
Run Code Online (Sandbox Code Playgroud)
这是做什么的:
^表示任何匹配都应从一行的开头开始。
([^ ]*)是任何不包含空格的表达式。匹配是贪婪的,所以这将匹配直到第一个空格(或行尾,以先到者为准)的所有内容。
.*其他一切都行。
\1指括号内的匹配部分。也就是说,整行仅由第一列中的位替换。
小智 39
如果您使用的是 Windows 并且不介意尾随空格(您可以在之后找到/替换它们),请使用块选择功能:
小智 8
以下是给定答案的几种替代方法。
如果您的数据是fixed width,您还可以在搜索中使用以下正则表达式:
找什么: ^(.{16}).*$
用。。。来代替: \1
正如有人提到的那样,如果您要保留的数据确实包含空格,那就太好了。此外,对于固定宽度的数据,您可以使用Column Mode Editing. 这是一个简洁的小功能,允许您在同一列位置编辑多行数据。请参阅列模式编辑。
它提到了箭头键,但您也可以使用Page Up/Down更快的方法以及End和Home键。鼠标也能用。但是您可以将它用于在某个点之后删除数据的临时方法,特别是如果它只有几行。它也适用于复制数据,但它粘贴的方式有点奇怪,因此您需要先习惯它。
| 归档时间: |
|
| 查看次数: |
26928 次 |
| 最近记录: |