文字列末尾の改行削除(「。」の場合を除く)

' 機能概要: 文字列の各行をチェックし、末尾が「。」でない場合に改行を除去
' 引数:
'   strText - 処理する文字列
' 戻り値:
'   String - 条件に基づいて改行が除去された文字列

Function RemoveNewlineIfNotEndingWithPeriod(strText As String) As String
    Dim arrLines As Variant
    Dim strResult As String
    Dim i As Integer

    ' 文字列を行に分割
    arrLines = Split(strText, vbCrLf)

    ' 各行をチェック
    For i = LBound(arrLines) To UBound(arrLines)
        If Right(Trim(arrLines(i)), 1) <> "。" Then
            ' 末尾が「。」でない場合、改行を削除して結果に追加
            strResult = strResult & Trim(arrLines(i))
        Else
            ' 末尾が「。」である場合、改行を含めて結果に追加
            strResult = strResult & Trim(arrLines(i)) & vbCrLf
        End If
    Next i

    ' 最後の改行を削除
    If Right(strResult, 2) = vbCrLf Then
        strResult = Left(strResult, Len(strResult) - 2)
    End If

    RemoveNewlineIfNotEndingWithPeriod = strResult
End Function

コメント