我是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行什么是最佳解决方案?
答案 0 :(得分:6)
答案 1 :(得分:0)
要删除第一个空格,你需要gsub你喜欢的字符串:
" 191.341.411.314 80".gsub(/^\p{Space}/, '')
答案 2 :(得分:0)
/^\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).*
将选择一个空格字符后面的所有内容。但是,它与不以空格开头的字符串不匹配。
无论如何,不会简单地修剪字符串来解决你的问题吗?对于这个用例,正则表达式对我来说似乎有些过分。