Mam instancję NSData
zawierającą przypisany tekst (NSAttributedString
) pochodzący z NSTextView
. Chcę przekonwertować przypisany ciąg na zwykły ciąg znaków (NSString
) bez formatowania do analizy tekstu (w momencie konwersji nie mam dostępu do wyjściowego NSTextView ani jego instancji NSTextStorage).Przekształcanie NSAttributedString w zwykły tekst
Jaki byłby najlepszy sposób na zrobienie tego?
EDIT:
Z ciekawości Zbadałem wynik:
[[[self textView] textStorage] words]
która okazała się przydatna rzecz dla jakiejś analizy tekstu. Otrzymany tablica zawiera przypadki NSSubTextStorage (przykład poniżej słowa „Wschodniej”)
Wschodniej { NSFont = „\” LucidaGrande 11,00 pkt. P [] (0x7ffcaae08330) fobj = 0x10a8472d0, spc = 3,48 \ ""; NSParagraphStyle = "Wyrównanie 0, Odstęp między wierszami 0, Odczytanie akapitów 0, Akapit akapitowy Przed 0, Nagłówek 0, OgonIndent 0, FirstLineHeadIndent 0, Szerokość liniowa 0/0, Wysokość liniowa Wielokrotność 0, LineBreakMode 0, Tabulatory (\ n 28L, \ n 56L, \ n 84L, \ n 112L, \ n 192L, \ n 224L, \ n 252L, \ n 280L, \ n
308L, \ n 336L \ n), DefaultTabInterval 0, Blocks (null), list (null), BaseWritingDirection -1, dzielnik dzielenia 0, współczynnik skrętu 0,05, Element nagłówka 0 "; }
NSSubTextStorage to prawdopodobnie prywatna klasa, ponieważ nie mogłem znaleźć dla niej żadnej dokumentacji. Zachowuje również wszystkie formatowanie.
Oh my ... muszę wyjść za odrobinę świeżego powietrza. Dziękuję za odpowiedź! Nie mogę uwierzyć, że sam tego nie widziałem ... [self kick] – Roger
Jeśli na przypisanym ekranie istnieje załącznik obrazu, wynikowa właściwość łańcucha zwróci wartość? w miejscu tego zajęcia. Próbuję znaleźć dla niego rozwiązanie. Czy możesz dzielić się, jeśli masz jakiś pomysł? – Avi
@Avi - To, co prawdopodobnie widzisz, to 'NSAttachmentCharacter', a jeśli tak, to po prostu usuń wszelkie jego wystąpienia. Jest to dokumentowane jako część 'NSTextAttachment'. – CRD