gpt4 book ai didi

c# - 在 C# 中用正则表达式替换 "new line"字符

转载 作者:太空狗 更新时间:2023-10-30 00:40:05 24 4
gpt4 key购买 nike

我想在包含序列“字母或数字”、“换行”、“字母或数字”的文本文件中找到每个字符串,然后用“空格”替换“换行”。

这是我到目前为止尝试过的:

private void button3_Click(object sender, EventArgs e)
{
string pathFOSE = @"D:\Public\temp\FOSEtest.txt";
string output = Regex.Replace(pathFOSE, @"(?<=\w)\n(?=\w)", " ");

string pathNewFOSE = @"D:\Public\temp\NewFOSE.txt";
if (!System.IO.File.Exists(pathNewFOSE))
{
// Create a file to write to.
using (System.IO.StreamWriter sw = System.IO.File.CreateText(pathNewFOSE))
{
}
File.AppendAllText(pathNewFOSE, output);
}
}

但我的程序所做的只是创建一个新的文本文件,仅包含这一行 "D:\Public\temp\FOSEtest.txt"

知道发生了什么事吗? \n 也是在 Windows7 的文本文件中搜索新行的正确方法吗?谢谢

编辑:我按照 Avinash 的建议进行了更改,并补充说我在 Windows 7 上工作。

编辑 2:在尝试建议之前,我想我需要了解为什么 Replace 发生在路径字符串上而不是它导致的文件上。

最终编辑:感谢 stribizhev,一切正常,我只是复制粘贴了他的回答。感谢所有回复的人!

最佳答案

你需要使用积极的后视。

Regex.Replace(pathFOSE, @"(?<=\w)\n(?=\w)", " "); 
^

(?=\w) 称为正先行,断言匹配后必须跟一个单词字符。

Regex.Replace(pathFOSE, @"(?<=\w)[\r\n]+(?=\w)", " "); 

关于c# - 在 C# 中用正则表达式替换 "new line"字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31137608/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com