我正在尝试使用正则表达式替换插入换行符,如下所示:
strFile = Regex.Replace(
strFile,
@"(FA|BO)\s+(\d{3}-\d+)(\s+)(.*?)(\s+)(\d+,*\d*\.\d+)\s*(FA|BO)\s+(\d{3}-\d+)(\s+)(.*?)(\s+)(\d+,*\d*\.\d+)\s*",
@"$2&$4&$6\n$8&$10&$12"
)
但我最终(字面意思)word\nword
而不是实际换行符。
我做错了什么?
答案 0 :(得分:2)
通过对替换字符串使用@""
字符串文字,您将禁用转义字符解析。如果您将第二个字符串的更改设置为普通字符串,因为您没有需要维护的任何\
字符,它将按您的预期工作。
strFile = Regex.Replace(
strFile,
@"(FA|BO)\s+(\d{3}-\d+)(\s+)(.*?)(\s+)(\d+,*\d*\.\d+)\s*(FA|BO)\s+(\d{3}-\d+)(\s+)(.*?)(\s+)(\d+,*\d*\.\d+)\s*",
"$2&$4&$6\n$8&$10&$12");