作业 - 为数组添加分割功能

main.swift

1 import Foundation
2
3 let str:NSString = "Hello&myworld&Hello"
4
5 print(str.split("&"))
6
7 print(str.split("myworld"))

extension.swift

 1 import Foundation
 2
 3 extension NSString
 4 {
 5     func split(separator:String) -> [NSString]
 6     {
 7         //如果原字符串包含分割字符串则进行,否则进行 else
 8         if self .containsString(separator)
 9         {
10             //数组 arr 用来存储每次截取出来的串
11             var arr:[NSString]=[]
12
13             //变量 str 存储每次截取后剩余的字符串部分,第一次赋值是被截取前的串
14             var str:NSString = self
15
16             //如果字符串包含 separator ,将 separator 之前的字符串截取并存入数组,之后的字符串再次循环相同操作
17             //rangeOfString 判断要被截取的字符串是否包含 separator ,找到了就返回范围
18             while(str.rangeOfString(separator).toRange() != nil)
19             {
20                 //subRange 是 separator 的范围
21                 let subRange = str.rangeOfString(separator)
22
23                 //subStr 是截取被判断的字符串从开头到 separator 所在的位置
24                 let subStr = str.substringToIndex(subRange.location)
25
26                 arr.append(subStr)
27
28                 //新 str 是老 str 的 separator 的位置之后截取出来的
29                 str = str.substringFromIndex(subRange.location + subRange.length)
30             }
31
32             //str 没有 separator 时,while 循环退出,这时将最后剩余字符串存入数组
33             if str != ""
34             {
35                 arr.append(str)
36             }
37
38             return arr
39
40         }else
41         {
42             return ["查无此字符串"]
43         }
44
45     }
46 }
时间: 2024-10-25 15:33:37

作业 - 为数组添加分割功能的相关文章

ASP.NET MVC + 百度富文本编辑器 + EasyUi + EntityFrameWork 制作一个添加新闻功能

本文将交大伙怎么集成ASP.NET MVC + 百度富文本编辑器 + EasyUi + EntityFrameWork来制作一个新闻系统 先上截图: 添加页面如下: 下面来看代码部分 列表页如下: 1 @{ 2 Layout = null; 3 } 4 5 <!DOCTYPE html> 6 7 <html> 8 <head> 9 <meta name="viewport" content="width=device-width&qu

javascript--select标签的添加删除功能的使用

在网页开发中,常常遇见这种问题,给定两个框,A和B,和几个图片按钮,A中存在几个操作,点击图片按钮,填加至B中,或者从B中移除等,这种效果如何实现,本文加以总结. 几种效果图如下: 原始图:                                                                                                                 添加全部功能图:    移除全部功能图:                      

数组里的功能和用途解释

1. var arr = [ ];    数组:[ ] 空数组  console.log为Array(0) 功能:定义空数组用来接收的 2. var str = ’ ’  空字符串 功能:定义空字符串用来接收的 3. arr[arr.length] = ‘在最后数组添加’ arr.push(‘添加’) ---- 常用 4. arr.splice(0, 1);  从0开始,删除一位 5. arr[i] 数组里的每一项   比较时用的 arr[0] 数组里的第一项   比较时用的 6. var i

跟陈湾来完善C++(2), 添加属性功能

上面几篇文章中,我们添加了名称空间优化,添加事件功能.这些对我来说其实已经够了.但还可以加一个属性功能. 当我们在C++中更改一个属性时,平常都是Get函数加上Set函数,但是这样,没有直接写一个成员变量方便.例如: a.SetValue(a.GetValue() + 1); 没有 a.Value = a.Value + 1; 方便. 但是这种方便只有在调用有属性功能的对象时才能使用.在创建属性的时候我还是用老套路,写一个Get和Set函数,该干啥还是干啥.我的属性功能其实就是在类中添加一个共有

【转】为Android应用添加搜索功能

为Android应用添加搜索功能 为Android应用增加搜索功能:增加搜索建议

Java基础知识强化75:正则表达式之分割功能 (扩展练习)

1. 看程序写结果:(面试题考过) 1 package cn.itcast_03; 2 3 /* 4 * 分割功能练习 5 */ 6 public class RegexDemo2 { 7 public static void main(String[] args) { 8 // 定义一个字符串 9 String s1 = "aa,bb,cc"; 10 // 直接分割 11 String[] str1Array = s1.split(","); 12 for (in

修复Bug是重点 iOS9将不注重添加新功能

苹果iOS7系统时发生了界面风格的巨大改变,目前的iOS8也在延续之前的风格,只是进行了功能补充,那么iOS9是否还会继续保持这样的风格呢?据外媒消息,iOS9的确不会再次对风格进行大修大改,而是着重改进稳定性和系统优化. iOS9将不注重添加新功能(图片来自MacWorld) 据外媒从苹果内部工程师处获知,iOS9的主要工作是修复漏洞.保持系统的稳定性,并增强系统性能,并不会特别注重对新功能的开发. 另外,近期苹果因iOS8系统固件体积过大而多次被用户告上法庭,看来是起到了一定效果.据称苹果将

java-第十四章-代参的方法(二)-实现MyShopping系统的添加会员功能

 package com.wxws.sms; public class Customer {  int No;  int integarl; } package com.wxws.sms; public class Customers {  Customer[] customers = new Customer[100];  public void add(Customer cust){   for (int i = 0; i <customers.length; i++) {    if (c

(译)Windsor入门教程---第五部分 添加日志功能

介绍 现在我们已经有了基础的框架了,是时候添加内容了,那么我们首先应该考虑的就是在应用程序中添加日志功能.我们会使用Windsor来配置,在这一部分,你将学习Windsor之外的其他功能. Logging Facility 在上一部分说过,Windsor有很多自带的可选的功能组件,他们扩展了Windsor的即用性.在这一部分,我们将在程序中添加日志功能. Logging Facility提供了一些常用的日志框架比如Log4net.Nlog,以及mvc内置的日志框架Trace.Logging Fa