Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 用正则表达式查找单词,然后在单词之间用Objective-c添加空格_Iphone_Objective C_Regex - Fatal编程技术网

Iphone 用正则表达式查找单词,然后在单词之间用Objective-c添加空格

Iphone 用正则表达式查找单词,然后在单词之间用Objective-c添加空格,iphone,objective-c,regex,Iphone,Objective C,Regex,我想知道如何使用Objective-C在字符串中的字母/数字之间添加空格 我的示例代码目前正在运行。基本上我想把“West4thStreet”变成“West4thStreet” 所以在这个例子中,它用空格替换了我在regEx中找到的内容(“t4”和“hS”)。但是我只想在字母之间加一个空格来分隔单词 谢谢 如果将正则表达式模式的一部分用括号括起来,则可以在替换字符串中将它们称为$1、$2等(模式按左括号的顺序从左到右编号) 我不确定我是否理解您更广泛的用例,但这至少应该让您开始…嘿,skue,这

我想知道如何使用Objective-C在字符串中的字母/数字之间添加空格

我的示例代码目前正在运行。基本上我想把“West4thStreet”变成“West4thStreet”

所以在这个例子中,它用空格替换了我在regEx中找到的内容(“t4”和“hS”)。但是我只想在字母之间加一个空格来分隔单词


谢谢

如果将正则表达式模式的一部分用括号括起来,则可以在替换字符串中将它们称为$1、$2等(模式按左括号的顺序从左到右编号)


我不确定我是否理解您更广泛的用例,但这至少应该让您开始…

嘿,skue,这肯定会有所帮助。我基本上有一大堆地铁站,都是用hashtaged标记的,比如#West4thStreet或#UnionSquare,我在navControllers中将它们作为标题传递,但我不希望它在标题中显示为“#West4thStreet”。我想让它看起来像“West 4th Street”,就像它通常的样子;NSString*myString=[mytext2stringbyreplacingoccurrencesofregex:@”([A-Z][1-9][0-9])[A-Z]*([A-Z][1-9][0-9]*)[A-Z]*([A-Z][1-9][0-9]*)[A-Z]*)?“带字符串:@“$1$3$5];NSLog(@“打印输出:%@”,myString);有趣。确定在第一个模式中不需要第二个数字也是可选的吗?例:#2ndAvenue。你也可以将序数作为特例处理
(\\d+(st | nd | rd | th))
,并在必要时进行多次传递。哦,很好的调用…更新后的正则表达式看起来会是这样的:([a-Z]|[1-9][0-9]*)([a-Z]|[1-9][0-9]*)([a-Z]|[1-9]*))([a-Z]|[1-9]*)([a-Z]*)。[a-9]你肯定在什么地方都有哈希标记吗?最好的方法是处理一个示例文件并检查输出。如果您遇到问题,另一种策略是连续执行两个正则表达式以寻找转换(而不是尝试匹配完整的单词/数字):
@”([a-z])([a-Z0-9])”
->
->
->“$1$2”
然后执行
@”([0-9])([a-z])”
->
->“$1$2”
NSString *myText2 = @"West4thStreet"; 
NSString *regexString2 = @"([a-z.-][^a-z .-])"; 

for(NSString *match2 in [myText2 componentsMatchedByRegex:regexString2 capture:1L]) { 

    NSString *myString = [myText2 stringByReplacingOccurrencesOfString:match2 withString:@" "]; 
    NSLog(@"Prints out: %@",myString); // Prints out: Wes thStreet // Prints out: West4t treet   

}
NSString *origString = @"West4thStreet";
NSString *newString = [origString stringByReplacingOccurrencesOfRegex:@"(4th)" withString:@" $1 "];