因此,我在Xojo(MacOS(上创建了一个使用Endofline解析段落的程序。但是,当我在Windows操作系统上运行它时,它根本不会解析它。窗口操作系统是否在XOJO中识别Endofline或CHR(10( CHR(13(?
xojo的内ofline常数确实有所不同,具体取决于您使用的平台。
您有两个选择:
明确使用平台特定常数:
EndOfLine.Windows gives CR+LF
EndOfLine.Unix gives LF
更好的方法,尤其是如果您从程序之外导入数据,例如当从文件或网络插座读取时,是将行定界符标准化以供您内部使用:
:normalizedString = ReplaceLineEndings (importedString, EndOfLine)
现在,您可以使用归一化串来使用Endofline,例如将其分成单行:
dim lines() as String = normalizedString.Split (EndOfLine)
当您回编写此字符串时,您将已自动以系统的格式使用它。
但是,当您将文本导出到您所知道的系统中期望它们以某种格式的系统时,请将它们转换回该格式:
// E.g, if you export them for a Mac:
outputString = ReplaceLineEndings (internalString, EndOfLine.Unix)
EndOfLine
始终取决于平台,因此,在Windows的情况下,其值为chr(13)+chr(10)
,而在MacOS上是chr(10)
。您可以使用EndOfLine.Windows
和EndOfLine.OSX
直接达到这些平台特定值。
要在字符串中标准化行末端,您可以使用ReplaceLineEndings()
函数。