Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex Delphi中的正则表达式,用于剥离字符串中的回车符和换行符_Regex_Delphi - Fatal编程技术网

Regex Delphi中的正则表达式,用于剥离字符串中的回车符和换行符

Regex Delphi中的正则表达式,用于剥离字符串中的回车符和换行符,regex,delphi,Regex,Delphi,在javascript中,我使用下一个代码去掉一个字符串的linefeed和回车符,效果很好: var values="something....." var sanit=values.replace(/(\r?\n|\r\n?)/g, ""); 在Delphi中,我正在尝试下一个代码: values="something....." sanit:=TRegex.Replace(values,'/(\r?\n|\r\n?)/g', ''); 但它不起作用。没有进行替换。此任务不一定需要正则表

在javascript中,我使用下一个代码去掉一个字符串的linefeed和回车符,效果很好:

var values="something....."
var sanit=values.replace(/(\r?\n|\r\n?)/g, "");
在Delphi中,我正在尝试下一个代码:

values="something....."
sanit:=TRegex.Replace(values,'/(\r?\n|\r\n?)/g', '');

但它不起作用。没有进行替换。

此任务不一定需要正则表达式。这也可以通过以下功能完成:

替换
#10
\n
)和
#13
\r
)的组合


当所选目标平台为Windows时,常量
sLineBreak
位于单元
系统中,并声明为
#13#10
(或十六进制:
#$0D#$0A
)。

此任务不一定需要正则表达式。这也可以通过以下功能完成:

替换
#10
\n
)和
#13
\r
)的组合


当所选目标平台为Windows时,常量
sLineBreak
位于单元
系统中,并声明为
#13#10
(或十六进制:
#$0D#$0A
)。

查看Delphi是否在正则表达式中使用分隔符。关于语言转义,以及替换的参数顺序。另外,如果replace自动替换所有(不需要g),我相信Delphi会使用PCRE。阅读有关该正则表达式的文档。此外,此正则表达式已足够
(?:\r?\n |\r)+
如果StringReplace可以,为什么要使用正则表达式?ISTM认为它应该使用起来更快更简单。为什么不使用<代码>sanit:=StringReplace(值,#$D#$A,,[rfReplaceAll])找出Delphi是否在正则表达式中使用分隔符。关于语言转义,以及替换的参数顺序。另外,如果replace自动替换所有(不需要g),我相信Delphi会使用PCRE。阅读有关该正则表达式的文档。此外,此正则表达式已足够
(?:\r?\n |\r)+
如果StringReplace可以,为什么要使用正则表达式?ISTM认为它应该使用起来更快更简单。为什么不使用<代码>sanit:=StringReplace(值,#$D#$A,,[rfReplaceAll])
或仅在特别希望从字符串的开头和结尾删除空白和控制字符时使用。谢谢,因为我正在使用JS进行前端工作,所以我尝试在delphi中编写类似的代码。看来TRegex.Replace(值,'\R','')工作得很好。但是您的解决方案也可以使用,或者仅在特别希望从字符串的开头和结尾删除空白和控制字符时使用。谢谢,因为我正在使用JS进行前端工作,所以我尝试在delphi中编写类似的代码。看来TRegex.Replace(值,'\R','')工作得很好。但你的解决方案也很有效
StringReplace(value, sLineBreak, '', [rfReplaceAll])
StringReplace(StringReplace(value, sLineBreak, '', [rfReplaceAll]), #10#13, '', [rfReplaceAll])