删除正则表达式中的第一个空格

时间:2014-04-03 05:59:57

标签: regex notepad++

我是regex的新手,所以我需要帮助如何删除记事本++中每一行的正则表达式中的第一个空格?

示例:  
191.341.411.314 80  
191.341.411.315 80  
191.341.411.316 80  
191.341.411.317 80

我需要这个  
191.341.411.314 80  
191.341.411.315 80  
191.341.411.316 80  
191.341.411.317 80

列表包括+1000行什么是最佳解决方案?

5 个答案:

答案 0 :(得分:6)

你需要anchor你的正则表达式到字符串的开头

^\s

并且一无所获。 \s是空格的shorthand character class

here on Regexr

答案 1 :(得分:0)

要删除第一个空格,你需要gsub你喜欢的字符串:

" 191.341.411.314 80".gsub(/^\p{Space}/, '')

答案 2 :(得分:0)

检查此 Demo jsFiddle

正则表达式

/^\s/         // remove only first whitespace

/\s/          // remove first whitespace entire string
/ /           // remove first whitespace entire string

代码

var finalUrl = " 191.341.411.314 80";

console.log(finalUrl);                                // Before
console.log(finalUrl.replace(/^\s/ , ''));            // After

结果

 191.341.411.314 80
191.341.411.314 80 

希望这对你有帮助!

答案 3 :(得分:0)

更新后,请注意您有一个包含这些行的文件。

在这种情况下,最好做这样的事情:

awk方式

awk '{print $1" "$2}' text.txt

其中text.txt将是包含初始文本的文件。您可以使用以下方法将结果写在不同的文件中:

awk '{print $1" "$2}' text.txt > finaltext.txt

perl方式

perl -pe 's/^\s//g' text

======

var str = " 191.341.411.314 80"; //with a space at beginning
console.log(str);
var res = str.replace(/^\s?/, '');
console.log(res);

在你的firebug控制台中尝试这个。

答案 4 :(得分:0)

(?<=\s).*将选择一个空格字符后面的所有内容。但是,它与不以空格开头的字符串不匹配。

无论如何,不​​会简单地修剪字符串来解决你的问题吗?对于这个用例,正则表达式对我来说似乎有些过分。