标签: nsstring

从特定字符开始截断NSString的一部分

我有一个字符串

NSString * myOldString = @"This is a string (and this part is between brackets)"
Run Code Online (Sandbox Code Playgroud)

现在,我想以这种方式截断字符串,基本上括号之间的所有内容(包括括号)都会被截断.

更准确地说:我根本不关心第一个括号之后发生了什么.

我不能做一个简单的stringByReplacingOccurrencesOfString:,因为我无法预测括号之间会有什么.所以,结果字符串应该是:

"This is a string"
Run Code Online (Sandbox Code Playgroud)

string cocoa-touch truncate nsstring

3
推荐指数
1
解决办法
3099
查看次数

验证NSString中是否存在单词

我搜索了一下,但找不到这个(可能很简单)问题的答案.

我有一个NSString,我想检查它是否包含一个单词.像这样的东西:

NSString *sentence = @"The quick brown fox";
NSString *word = @"quack";
if ([sentence containsWord:word]) {
    NSLog(@"Yes it does contain that word");
}
Run Code Online (Sandbox Code Playgroud)

谢谢.

iphone cocoa objective-c nsstring

3
推荐指数
1
解决办法
3511
查看次数

如何从字符串中提取数值?

是否可以从字符串中提取数字.例如,我有一个字符串:

my name is shishir and my number is 98890876478
Run Code Online (Sandbox Code Playgroud)

我可以98890876478从上面的字符串中提取吗?

或者如果我的字符串是:

my name is shishir and my number is XXX98890876478XXX
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我可以提取"98890876478",它位于XXX之间.

是否有可能做到这一点?

我从服务器收到一条消息,该消息应该是上面的格式,我需要数值才能进一步操作

编辑:

这是我正在尝试使用的代码:

NSString *logString = [NSString stringWithFormat:@"%@",theXML]; 
NSString *digits = [logString stringByTrimmingCharactersInSet:[[NSCharacterSet decimalDigitCharacterSet] invertedSet]]; 
NSLog(@"Message id: %i", [digits intValue]);
Run Code Online (Sandbox Code Playgroud)

哪个输出:

2010-05-21 16:37:07.092 sms[5311:207] OK: message-ID XXX110103468XXX
2010-05-21 16:37:07.851 sms[5311:207] Message id: 2
Run Code Online (Sandbox Code Playgroud)

我认为它返回两个因为size == 2.我需要检索"XXX"之间的值.

objective-c phone-number nsstring ios

3
推荐指数
1
解决办法
4058
查看次数

NSDictionary:将NSString键转换为小写以在其上搜索字符串

我正在开发一个iPhone应用程序.

我使用NSDictionary将城市的名称存储为关键,将人口存储为值.我想用小写搜索键.

我用过这个:

NSDictionary *dict;

[dict objectForKey:[[city stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]] lowercaseString]];
Run Code Online (Sandbox Code Playgroud)

但是,它不起作用.

我知道,我可以做一个for,将键转换为小写并与城市进行比较.

还有其他办法吗?也许,使用NSDictionary方法.

更新
NSDictionary从属性列表加载.

谢谢.

iphone compare objective-c nsdictionary nsstring

3
推荐指数
1
解决办法
5108
查看次数

删除文本的最佳方法

到目前为止,iPhone上的删除文本的最佳解决方案是什么?

我听说过多种解决方案:

  • 有三件事20
  • 图像作为子视图
  • UIWebView 有一些东西NSAttributedString,但我没有找到一个有效的例子.

iphone nsstring uilabel

3
推荐指数
1
解决办法
8379
查看次数

如何比较iPhone上的A到Á

我需要比较2个字符串,只查看第一个字母.

有没有比较A和Á的方法,并将其识别为A,没有´

iphone compare nsstring

3
推荐指数
1
解决办法
673
查看次数

NSString - 在某个点之后获取文本?

当用户从NSOpenPanel打开一个文件时,我得到一个文件的URL,例如:

/Users/Name/Documents/MyFile.png

所以我只想要这一点:

MyFile.png

但是,用户可以拥有任何长度的文件名,那么我怎么说,只能在最后一个正斜杠(/)之后得到字符串?我只是想得到文件名.

希望你能帮忙,谢谢.

macos objective-c nsstring

3
推荐指数
1
解决办法
631
查看次数

如何使用临时变量在Objective-C/Xcode中定义返回的NSString函数?

我想在Objective-C中定义以下函数.我提供了伪代码来帮助说明我正在尝试做什么.

伪代码:

function Foo(param) {
  string temp; 

if(param == 1) then
  temp = "x";
else if(param == 2) then
  temp = "y";
else if(param == 3) then 
  temp = "z";
else
  temp = "default";
end if    

  return temp;
}
Run Code Online (Sandbox Code Playgroud)

出于某种原因,如果我这样做...我分配给它的变量导致"BAD Access"错误.

我不知道之间有什么区别:

static NSstring *xx;
Run Code Online (Sandbox Code Playgroud)

或非静态的:

NSString *xx;
Run Code Online (Sandbox Code Playgroud)

声明是,以及如何或为什么我想要使用一个而不是另一个.

我也不完全理解NSString的初始化器,以及它们之间的区别.例如:

[[NSString alloc] initWithString:@"etc etc" ];
Run Code Online (Sandbox Code Playgroud)

或简单的任务:

var = @""
Run Code Online (Sandbox Code Playgroud)

甚至:

var = [NSString stringWithString:@"etc etc"];
Run Code Online (Sandbox Code Playgroud)

你可以帮我一把吗?

到目前为止,使用从上面列出的函数返回的NSString值总是会导致错误.

iphone xcode function objective-c nsstring

3
推荐指数
2
解决办法
2万
查看次数

创建一个长NSString导致内存问题

我下面的代码导致我的应用程序退出,即获取黑屏,然后在调试器控制台中看到:程序收到信号:"0".

基本上,当我的orderArray计数为2000或更多时,它会导致问题.我在iOS 4.2上使用iPhone 3GS

问题:创建我的long outStr是否有更高效,耗费更少内存的方法?

NSString *outStr = @"";

for (int i = 0; i < count; i++) {
    NSDictionary *dict = [[ARAppDelegate sharedAppDelegate].orderArray objectAtIndex:i];
    outStr = [outStr stringByAppendingFormat:@"%@,%@,%@,%@\n", 
              [dict valueForKey:@"CODE"], 
              [dict valueForKey:@"QTY"],
              [[ARAppDelegate sharedAppDelegate].descDict valueForKey:[dict valueForKey:@"CODE"]],
              [[ARAppDelegate sharedAppDelegate].priceDict valueForKey:[dict valueForKey:@"CODE"]]];

}
Run Code Online (Sandbox Code Playgroud)

更新:感谢非常善良的人帮助,下面是我修改后的代码:

NSArray *orderA = [ARAppDelegate sharedAppDelegate].orderArray;
NSDictionary *descD = [ARAppDelegate sharedAppDelegate].descDict;
NSDictionary *priceD = [ARAppDelegate sharedAppDelegate].priceDict;
NSMutableString *outStr = [[[NSMutableString alloc] init] autorelease];
for (int i = 0; i < [orderA count]; i++) {
    NSDictionary *dict = …
Run Code Online (Sandbox Code Playgroud)

iphone nsstring

3
推荐指数
1
解决办法
174
查看次数

我需要释放一个恒定的NSString吗?

我正在阅读它所说的内存管理规则

- (void)printHello {

    NSString *string;

    string = [[NSString alloc] initWithString:@"Hello"];

    NSLog(@"%@", string);

    [string release];

}
Run Code Online (Sandbox Code Playgroud)

你有所有权并且必须释放string,但我很好奇@"Hello".@" "是创建和的语法NSString,它是一个对象.那不是泄露了吗?

cocoa memory-management objective-c literals nsstring

3
推荐指数
1
解决办法
895
查看次数