LoginSignup
2
1

More than 5 years have passed since last update.

行の始め全てに文字を追加する(>返信用記号など)

Last updated at Posted at 2017-02-09

正規表現でやった方が楽かと思ったのですが、うまくできなかったので改行コードごとに分けて1行ずつ追加しています。

行の始めに>を追加する

// 最初に文字列全範囲を示すRangeを作成する
NSRange range, subRange;
range = NSMakeRange(0, self.replyBody.length);
NSString *line;
NSString *result = @"";

// 1行ずつ読み出す
while (range.length > 0) {
    // 1行分を示すRangeを取得します。
    subRange = [self.replyBody lineRangeForRange:NSMakeRange(range.location, 0)];
    // 1行分を示すRangeを用いて、文字列から1行抜き出す
    line = [self.replyBody substringWithRange:subRange];
    NSString *addLine = [@">" stringByAppendingString:line];
    result = [result stringByAppendingString:addLine];
    // 1行分を示すRangeの最終位置を、
    // 次の探索に使うRangeの最初として設定する
    range.location = NSMaxRange(subRange);
    // 文字列の終端を、次の探索に使うRangeの最終位置に登録します
    range.length -= subRange.length;
}
self.messageTextView.text = [NSString stringWithFormat:@"%@", result];

こちらを参考にしました
http://www.yoheim.net/blog.php?q=20120614

2
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1