public static bool IsLineEnd(string text, int charIndex) { text = EnsureEndOfText(text); LineEndKinds kind = GetLineEndKind(text, charIndex); return (((kind & LineEndKinds.EndOfText) == LineEndKinds.EndOfText) || ((kind & LineEndKinds.CarrigeReturnOfSingleByte) == LineEndKinds.CarrigeReturnOfSingleByte) || ((kind & LineEndKinds.LineFeed) == LineEndKinds.LineFeed)); }
// --- internal --- internal string SanitizeLineEnd(string text) { StringBuilder ret = new StringBuilder(); for (int i = 0; i < text.Length; ++i) { LineEndKinds kind = GetLineEndKind(text, i); /// crlf: crを無視,cr: lfをappend,lf: そのままappend,その他: そのままappend if ((kind & LineEndKinds.FirstOfDoubleByte) == LineEndKinds.FirstOfDoubleByte) { /// do nothing } else if (((kind & LineEndKinds.CarrigeReturnOfSingleByte) == LineEndKinds.CarrigeReturnOfSingleByte)) { ret.Append('\n'); } else { ret.Append(text[i]); } } return(ret.ToString()); }
public static bool IsLineEndSecondOfDoubleByte(LineEndKinds kind) { return((kind & LineEndKinds.SecondOfDoubleByte) == LineEndKinds.SecondOfDoubleByte); }
public static bool IsSingleCarrigeReturnLineEnd(LineEndKinds kind) { return((kind & LineEndKinds.CarrigeReturnOfSingleByte) == LineEndKinds.CarrigeReturnOfSingleByte); }