我有一个像这样的长字符串:
je!tress:e?tu!tress:es?il!tress:e?nous!tress:ons?vous!tress:ez?ils!tress:ent?

我想在之后拆分字符串:之前? .所以我想进入数组:

{e,es,e,ons,ez,en}

我知道我可以这样做:

NSArray *subStrings = [stringtochange componentsSeparatedByString:@":"];

但这还不够.
我该怎么办?任何帮助将不胜感激!

解决方法

另一种选择可能是使用 NSRegularExpression类.

使用这种模式:

\\:([^\?]+)\?

示例代码:

Nsstring *sample  = @"je!tress:e?tu!tress:es?il!tress:e?nous!tress:ons?vous!tress:ez?ils!tress:ent?";
Nsstring *pattern = @"\\:([^\?]+)\?";

NSError *error = NULL;
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:pattern
                                                                       options:NSRegularExpressionCaseInsensitive
                                                                         error:&error];


NSArray *matches = [regex matchesInString:sample
                                  options:0
                                    range:NSMakeRange(0,[sample length])];
if(!error && [matches count] > 0) {
    for (NSTextCheckingResult *match in matches) {
        NSRange matchRange = [match range];
        NSLog(@"%@",[sample substringWithRange:matchRange]);
    }
}

输出:

2015-07-03 12:16:39.037 TestRegex[3479:48301] :e
2015-07-03 12:16:39.039 TestRegex[3479:48301] :es
2015-07-03 12:16:39.039 TestRegex[3479:48301] :e
2015-07-03 12:16:39.040 TestRegex[3479:48301] :ons
2015-07-03 12:16:39.040 TestRegex[3479:48301] :ez
2015-07-03 12:16:39.040 TestRegex[3479:48301] :ent

ios – 之前的分裂字符串:和之前?的更多相关文章

  1. ios – 之前的分裂字符串:和之前?

    我有一个像这样的长字符串:我想在之后拆分字符串:之前?.所以我想进入数组:我知道我可以这样做:但这还不够.我该怎么办?任何帮助将不胜感激!

  2. angularjs – 在onsen UI中使用多个html文件

    我尝试在ons.ready()事件上将页面加载到$templateCache中.他们已成功加载,但再次不显示,直到第二次点击…如果一个很棒的框架不会将项目分割成多个文件,那将是一个耻辱.删除标签.只有在index.html中定义模板时,才需要这样做.

  3. angularJs自定义指令父子指令通信

    由于自学了一段时间VUE,搞的我现在使用angularJs也是使用VUE的思想,想方设法拜托angularJs中凌乱的代码,统统用指令解耦。在angularJs中编写自定义指令没有VUE中编写组件那么方便,父子组件之间的通信,作用域的互相引用等等,在angularJs中并没有VUE中那么清晰,所以在编写自定义指令的时候需要特别注意一些问题。这个demo是基于onsenui写的,主要用了了里面的ons-carousel轮播插件以及ons-icon图片两个自定义指令,不过这个对本次总结没有任何影响。

  4. angularJs自定义指令:图片选择指令

    基于上面描述的问题,我写了一个图片选择指令,在浏览器下开发的时候,调用的是浏览器文件选择的功能,当真机运行的时候,调用插件获取图片,最后把得到的图片返回给开发者处理,我这个指令获取完图片数据之后是自动把图片加载到img节点中,就是一个预览的功能:这个获取的数据是双向绑定的,如果调用该指令的作用域中声明了img-src属性,图片选择指令会把图片数据自动绑定到这个声明的变量中。

  5. 是否有与Perl的LWP / WWW :: Mechanize等效的.NET?

    在使用.NET的HttpWebRequest/Response对象之后,我宁可自己拍摄,也不愿使用它来浏览网站.我正在寻找一个可以获取URL的现有.NET库,并使您能够在页面上关注链接,提取/填写/提交表单等.Perl的LWP和WWW::Mechanize模块做得非常好,但我正在使用.NET项目.我遇到了HTMLAgilityPack,它看起来很棒,但它没有模拟链接/表格.这样的工具是否已经存在?

随机推荐

  1. iOS实现拖拽View跟随手指浮动效果

    这篇文章主要为大家详细介绍了iOS实现拖拽View跟随手指浮动,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  2. iOS – genstrings:无法连接到输出目录en.lproj

    使用我桌面上的项目文件夹,我启动终端输入:cd然后将我的项目文件夹拖到终端,它给了我路径.然后我将这行代码粘贴到终端中找.-name*.m|xargsgenstrings-oen.lproj我在终端中收到此错误消息:genstrings:无法连接到输出目录en.lproj它多次打印这行,然后说我的项目是一个目录的路径?没有.strings文件.对我做错了什么的想法?

  3. iOS 7 UIButtonBarItem图像没有色调

    如何确保按钮图标采用全局色调?解决方法只是想将其转换为根注释,以便为“回答”复选标记提供更好的上下文,并提供更好的格式.我能想出这个!

  4. ios – 在自定义相机层的AVFoundation中自动对焦和自动曝光

    为AVFoundation定制图层相机创建精确的自动对焦和曝光的最佳方法是什么?

  5. ios – Xcode找不到Alamofire,错误:没有这样的模块’Alamofire’

    我正在尝试按照github(https://github.com/Alamofire/Alamofire#cocoapods)指令将Alamofire包含在我的Swift项目中.我创建了一个新项目,导航到项目目录并运行此命令sudogeminstallcocoapods.然后我面临以下错误:搜索后我设法通过运行此命令安装cocoapodssudogeminstall-n/usr/local/bin

  6. ios – 在没有iPhone6s或更新的情况下测试ARKit

    我在决定下载Xcode9之前.我想玩新的框架–ARKit.我知道要用ARKit运行app我需要一个带有A9芯片或更新版本的设备.不幸的是我有一个较旧的.我的问题是已经下载了新Xcode的人.在我的情况下有可能运行ARKit应用程序吗?那个或其他任何模拟器?任何想法或我将不得不购买新设备?解决方法任何iOS11设备都可以使用ARKit,但是具有高质量AR体验的全球跟踪功能需要使用A9或更高版本处理器的设备.使用iOS11测试版更新您的设备是必要的.

  7. 将iOS应用移植到Android

    我们制作了一个具有2000个目标c类的退出大型iOS应用程序.我想知道有一个最佳实践指南将其移植到Android?此外,由于我们的应用程序大量使用UINavigation和UIView控制器,我想知道在Android上有类似的模型和实现.谢谢到目前为止,guenter解决方法老实说,我认为你正在计划的只是制作难以维护的糟糕代码.我意识到这听起来像很多工作,但从长远来看它会更容易,我只是将应用程序的概念“移植”到android并从头开始编写.

  8. ios – 在Swift中覆盖Objective C类方法

    我是Swift的初学者,我正在尝试在Swift项目中使用JSONModel.我想从JSONModel覆盖方法keyMapper,但我没有找到如何覆盖模型类中的Objective-C类方法.该方法的签名是:我怎样才能做到这一点?解决方法您可以像覆盖实例方法一样执行此操作,但使用class关键字除外:

  9. ios – 在WKWebView中获取链接URL

    我想在WKWebView中获取tapped链接的url.链接采用自定义格式,可触发应用中的某些操作.例如HTTP://我的网站/帮助#深层链接对讲.我这样使用KVO:这在第一次点击链接时效果很好.但是,如果我连续两次点击相同的链接,它将不报告链接点击.是否有解决方法来解决这个问题,以便我可以检测每个点击并获取链接?任何关于这个的指针都会很棒!解决方法像这样更改addobserver在observeValue函数中,您可以获得两个值

  10. ios – 在Swift的UIView中找到UILabel

    我正在尝试在我的UIViewControllers的超级视图中找到我的UILabels.这是我的代码:这是在Objective-C中推荐的方式,但是在Swift中我只得到UIViews和CALayer.我肯定在提供给这个方法的视图中有UILabel.我错过了什么?我的UIViewController中的调用:解决方法使用函数式编程概念可以更轻松地实现这一目标.

返回
顶部