3 of 3 added 1353 characters in body

For these sort of operations, I would recommened to use Fields class from the Tridion practice wiki: https://github.com/TridionPractice/tridion-practice/tree/74f53c5b611347d09100be12c644566488974b80/ChangeContentOrMetadata

To manipulate RTF data you could load it into a XmlDocument for parsing it.

For example:

 {
        var component = (ComponentData)client.Read(tcmuri, DEFAULT_READ_OPTIONS);
        var fields= Fields.ForContentOf(schemaFields, component);
        // 
        var inputRtfValue = fields["rtfFieldName"].value;
        string manipulatedRtfData = ManipulateRtfData(inputRtfValue);

        fields["richTextField"].Value = manipulatedRtfData;
        component .Content = fields.ToString();

        client.CheckOut(component.Id, true, DEFAULT_READ_OPTIONS);                       
        client.Save(component, DEFAULT_READ_OPTIONS);
        client.CheckIn(component.Id, DEFAULT_READ_OPTIONS);
   }

 public string ManipulateRtfData(string xhtmlFieldValue) 
 {
        // decalre required namespaces
        string XlinkNamespace = "http://www.w3.org/1999/xlink";
        string XhtmlNamespace = "http://www.w3.org/1999/xhtml";
        string TcmtNamespace = "http://www.tridion.com/ContentManager/5.2/Taxonomies#";
        string XlinkPrefix = "xlink";
        string XhtmlPrefix = "xhtml";
        string TcmPrefix = "http://www.tridion.com/ContentManager/5.0";

        XmlDocument XmlContent = new XmlDocument();
        XmlNamespaceManager nm = new XmlNamespaceManager(new NameTable());
        nm.AddNamespace(XlinkPrefix, XlinkNamespace);
        nm.AddNamespace(XhtmlPrefix, XhtmlNamespace);
        nm.AddNamespace(TcmPrefix, TcmtNamespace);

        XmlContent.LoadXml("<root>" + xhtmlFieldValue + "</root>");
        // manipulate Xml document here (rtf data)

         return XmlContent["root"].InnerXml;
}