不能将100,000多个希伯来字符放入objective-c字符串中

时间:2014-09-05 14:06:42

标签: ios objective-c nsstring

我有超过100,000个字符的文本需要转换成字符串,这样我就可以对字符进行计数并在页面上正确显示它们,但在文本中有大量的引用("" )和很多逗号,所以它甚至不会变成一个字符串。 有没有人知道你可以忽略NSString中的引号和逗号,而不必这样做\""每一次?

这里有一些文字。它的英文/希伯来文

诗篇30 ... 诗篇100 ...

下面的诗篇不会在安息日,节日,Pesach前一天,Chol HaMoed Pesach和赎罪日当天说出来 ...

2 个答案:

答案 0 :(得分:3)

你说“我甚至无法将文字变成字符串”。既然你说(在评论中)你只是“把它从这个网站上拉下来”,最简单的方法就是+[NSString stringWithContentsOfURL:encoding:error:]。这对我有用:

    NSURL *url = [NSURL URLWithString:@"http://opensiddur.org/wp-content/uploads/2010/08/The-Blessing-Book-Nusa%E1%B8%A5-Ha-Ari-%E1%B8%A4aBaD-3.2.txt"];
    NSError *error;
    NSString *text = [NSString stringWithContentsOfURL:url usedEncoding:nil error:&error];
    NSLog(@"error=%@ text.length=%lu", error, (unsigned long)text.length);

如果您想以非阻塞的方式进行操作,可以查看NSURLSessionNSURLConnection

如果您计划将文本分发到应用程序包中的文件(名为“blessingBook.txt”),则可以通过以下方式获取URL:

    NSURL *url = [[NSBundle mainBundle] URLForResource:@"blessingBook" withExtension:@"txt"];

如果您是直接从应用套装中加载它,则可能无需担心使用NSURLSession在后​​台加载它。如果需要一段时间,您可能希望在后台进行“处理”。

答案 1 :(得分:0)

您可以将标点符号或逗号替换为@“”(空字符串)。

yourString=[yourString stringByReplacingOccurrencesOfString:@"," withString:@""];

yourString=[yourString stringByReplacingOccurrencesOfString:@":" withString:@""];

yourString=[yourString stringByReplacingOccurrencesOfString:@";" withString:@""];

您想要替换的文本是什么。如上所述替换。

但这是一个漫长的过程,找到不想要的引文,逗号......一些字符并用空字符串替换..

希望它可以帮助你......!