我正在使用RealBASIC 2011r3编写一个软件,需要一种可靠的,跨平台的方法来将字符串分成段落。我一直在使用以下内容,但它似乎只适用于Linux:
dim pTemp() as string
pTemp = Split(txtOriginalArticle.Text, EndOfLine + EndOfLine)
当我在Mac上尝试这个时,它将所有内容作为单个段落返回。在RB支持的所有三个构建目标上,使这个工作可靠的最佳方法是什么?
答案 0 :(得分:4)
EndofLine根据平台而变化,具体取决于创建字符串的平台。您需要检查字符串中EndOfLine的类型。我相信它是sMyString.EndOfLineType。一旦你知道它是什么,你就可以拆分它。
EndOfLine还有其他属性。它可以是EndOfLine.Macintosh / Windows / Unix。
EndOfLine docs:http://docs.realsoftware.com/index.php/EndOfLine
答案 1 :(得分:1)
我几乎总是在继续之前搜索并替换换行符的组合。我通常会做几行:
yourString = replaceAll(yourString,chr(10)+chr(13),"<someLineBreakHolderString>")
yourString = replaceAll(yourString,chr(13)+chr(10),"<someLineBreakHolderString>")
yourString = replaceAll(yourString,chr(10),"<someLineBreakHolderString>")
yourString = replaceAll(yourString,chr(13),"<someLineBreakHolderString>")
此处的订单很重要(在个人10之前执行10 + 13)因为您不想最终用两个换行符替换包含10和13的换行符。
这有点麻烦,我不建议使用它来实际修改原始字符串,但在尝试进一步解析字符串之前,它肯定有助于将所有换行符转换为相同的项目。