我有一个字符串
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) 我搜索了一下,但找不到这个(可能很简单)问题的答案.
我有一个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)
谢谢.
是否可以从字符串中提取数字.例如,我有一个字符串:
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"之间的值.
我正在开发一个iPhone应用程序.
我使用NSDictionary将城市的名称存储为关键,将人口存储为值.我想用小写搜索键.
我用过这个:
NSDictionary *dict;
[dict objectForKey:[[city stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]] lowercaseString]];
Run Code Online (Sandbox Code Playgroud)
但是,它不起作用.
我知道,我可以做一个for,将键转换为小写并与城市进行比较.
还有其他办法吗?也许,使用NSDictionary方法.
更新
NSDictionary从属性列表加载.
谢谢.
到目前为止,iPhone上的删除文本的最佳解决方案是什么?
我听说过多种解决方案:
UIWebView
有一些东西NSAttributedString,但我没有找到一个有效的例子.我需要比较2个字符串,只查看第一个字母.
有没有比较A和Á的方法,并将其识别为A,没有´?
当用户从NSOpenPanel打开一个文件时,我得到一个文件的URL,例如:
/Users/Name/Documents/MyFile.png
所以我只想要这一点:
MyFile.png
但是,用户可以拥有任何长度的文件名,那么我怎么说,只能在最后一个正斜杠(/)之后得到字符串?我只是想得到文件名.
希望你能帮忙,谢谢.
我想在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值总是会导致错误.
我下面的代码导致我的应用程序退出,即获取黑屏,然后在调试器控制台中看到:程序收到信号:"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) 我正在阅读它所说的内存管理规则
- (void)printHello {
NSString *string;
string = [[NSString alloc] initWithString:@"Hello"];
NSLog(@"%@", string);
[string release];
}
Run Code Online (Sandbox Code Playgroud)
你有所有权并且必须释放string,但我很好奇@"Hello".@" "是创建和的语法NSString,它是一个对象.那不是泄露了吗?
nsstring ×10
iphone ×6
objective-c ×6
cocoa ×2
compare ×2
cocoa-touch ×1
function ×1
ios ×1
literals ×1
macos ×1
nsdictionary ×1
phone-number ×1
string ×1
truncate ×1
uilabel ×1
xcode ×1