从句子范围替换 Word 换行符不起作用
Replace Word line break from sentence range do not work
我有一个应用程序,我想在其中获取单词内容的第一行以自动为文档设置标题以保存它。
我这样做:
if (WordApp != null)
{
FileName = WordApp.ActiveDocument.Name;
// get the content from the first available text as filename
if (IsNewRecord && WordApp.ActiveDocument.Sentences.Count > 0 )
FileName = WordApp.ActiveDocument.Sentences.First.Text;
}
虽然它有效,但 FileName
还包含第一句的 LineBreak
。
所以我尝试了:
.Replace(Environment.NewLine, "")
但是什么也没做,"\n"
.
有人知道我做错了什么或如何实现我的要求吗?
一个单词 换行符(例如,您可以在 Windows 单词上使用 shift-Enter 插入)由 ASCII 字符 11 表示,因此您可以查找在 C# 中,例如使用 \v .
一个单词段落标记由ASCII字符13表示,您可以使用\r找到它,至少在Windows.
字符在 Windows 和 Mac 之间没有变化(而且,我假设是在线平台)。即段落标记始终为 13 (CR),从不为 10 (LF),即使在基于 Unix 的系统上也是如此。
我有一个应用程序,我想在其中获取单词内容的第一行以自动为文档设置标题以保存它。
我这样做:
if (WordApp != null)
{
FileName = WordApp.ActiveDocument.Name;
// get the content from the first available text as filename
if (IsNewRecord && WordApp.ActiveDocument.Sentences.Count > 0 )
FileName = WordApp.ActiveDocument.Sentences.First.Text;
}
虽然它有效,但 FileName
还包含第一句的 LineBreak
。
所以我尝试了:
.Replace(Environment.NewLine, "")
但是什么也没做,"\n"
.
有人知道我做错了什么或如何实现我的要求吗?
一个单词 换行符(例如,您可以在 Windows 单词上使用 shift-Enter 插入)由 ASCII 字符 11 表示,因此您可以查找在 C# 中,例如使用 \v .
一个单词段落标记由ASCII字符13表示,您可以使用\r找到它,至少在Windows.
字符在 Windows 和 Mac 之间没有变化(而且,我假设是在线平台)。即段落标记始终为 13 (CR),从不为 10 (LF),即使在基于 Unix 的系统上也是如此。