`
zjjzmw1
  • 浏览: 1366161 次
  • 性别: Icon_minigender_1
  • 来自: 开封
社区版块
存档分类
最新评论

查找string 中>与<之间的字符 string=@"<stu><name>a<b<<<name/>qw<stu/>"

    博客分类:
  • iOS
阅读更多
main.m.


#import <Foundation/Foundation.h>
#import "Str.h"
int main (int argc, const char * argv[])
{

    @autoreleasepool {
       
        NSString *string=[NSString stringWithFormat:@"<stu><name>a<b<<<name/>qw<stu/>"];
//        NSString *string=[NSString stringWithFormat:@"<<张三>>5>3<<<<李四>>233<"];
        for (int i=0; i<string.length+12; i++) {
            string=[Str getString:string];
        }
        NSLog(@"%@",string);
 
    }
    return 0;
}


Str.h


#import <Foundation/Foundation.h>

@interface Str : NSObject
+(NSString *)getString:(NSString *)sender;
@end

Str.m



#import "Str.h"

@implementation Str
+(NSString *)getString:(NSString *)string{
    //查找出>与<之间的字符。
    //<stu><name>a<b<name/><stu/>
    //<<张三>>5>3<<李四>>
   

    NSString *str1;
    NSString *str2;
    NSString *str3;
    NSString *str4;
    NSString *str5;
    int m=0,n=0,k=0;
    //思路是<>之间的都去掉。
    m=(int)[string rangeOfString:@"<"].location;
    n=(int)[string rangeOfString:@">"].location;
    NSLog(@"m==%d==",m);
    NSLog(@"n==%d==",n);
    if (m<0) {
        return string;
    }
    if (n<0) {
        return string;
    }
    if (n<m) {
        n=(int)[[string substringFromIndex:n+1] rangeOfString:@">"].location+3;
    }
    if (n>m) {
        str4=[string substringWithRange:NSMakeRange(m, n-m)];
        str5=[string substringWithRange:NSMakeRange(m+1, n-m)];
        if ([str5 rangeOfString:@"<"].length==0) {
            str1=[string substringToIndex:m];
            NSLog(@"str1===%@",str1);
            NSLog(@"str2===%@",str2);
            str2=[string substringFromIndex:n+1];
        }
        else{
            NSLog(@"k==%d==",k);
            k=(int)[str5 rangeOfString:@"<"].location;
            str1=[string substringToIndex:m+k+1];//往后面去。
            NSLog(@"str1===%@",str1);
            NSLog(@"str2===%@",str2);
            str2=[string substringFromIndex:n+1];
        }
      
        str3=[NSString stringWithFormat:@"%@%@",str1,str2];
        return str3;
    }
    return string;
}
@end
分享到:
评论

相关推荐

    aqw\"" data-report-query="utm_medium=distribute.pc_relevant_iteye_download.none-task-download-2~default~OPENSEARCH~Paid-1-11113592-iteye_blog-1741838.nonecase&depth_1-utm_source=distribute.pc_relevant_iteye_download.none-task-download-2~default~OPENSEARCH~Paid-1-11113592-iteye_blog-1741838.nonecase" data-report-click='{"mod":"popu_708","dest":"https://download.csdn.net/download/weixin_38669628/11113592","strategy":"2~default~OPENSEARCH~Paid","extra":"{\"utm_medium\":\"distribute.pc_relevant_iteye_download.none-task-download-2~default~OPENSEARCH~Paid-1-11113592-iteye_blog-1741838.nonecase\"}"}' > 查找string 中>与<之间的字符 string=@\"<stu><name>a<b<<<name/>qw<stu/>\"

    首先,我们要明确字符串`string=@"&lt;stu&gt;&lt;name&gt;a&lt;b&lt;&lt;&lt;name/&gt;qw&lt;stu/&gt;"`是一个包含XML样式的结构,其中`&lt;stu&gt;`和`&lt;/stu&gt;`是元素标签,`&lt;name&gt;`和`&lt;/name&gt;`是name元素的开始和结束标签。`&lt;b`和`/&gt;`表示一个没有结束标签...

    上下tab浮动菜单

    &lt;li&gt; &lt;a class="menu" href="#nogo"&gt;&lt;b class="snazzy"&gt;&lt;span class="boxcontent red"&gt;item #1&lt;/span&gt; &lt;b class="b4 red"&gt;&lt;/b&gt;&lt;b class="b3 red"&gt;&lt;/b&gt;&lt;b class="b2 red"&gt;&lt;/b&gt;&lt;b class="b1"&gt;&lt;/b&gt; &lt;/b&gt;&lt;/a&gt; &lt;/li&gt; ...

    学生信息管理系统

    &lt;td&gt;&lt;input type="text" name="name"&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;性别&lt;/td&gt; &lt;td&gt;&lt;input type="text" name="sex"&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;年龄&lt;/td&gt; &lt;td&gt;&lt;input type="text" name="age"&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;...

    用asp做的一个网站案例

    &lt;li&gt;&lt;a href="AddStu.asp" class="xxxg"&gt;学生信息修改&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="AddStuScore.asp" class="cjlr STYLE2"&gt;学生成绩录入&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt; &lt;div id="clear"&gt;&lt;/div&gt; &lt;/div&gt; &lt;/div&gt; &lt;/div&gt; ...

    struts2实例 学生信息管理系统

    &lt;result name="success"&gt;list.jsp&lt;/result&gt; &lt;/action&gt; &lt;action name="delete" class="cn.fjnu.edu.action.AddAction" method="deletestu"&gt; &lt;result name="success"&gt;list.jsp&lt;/result&gt; &lt;/action&gt; &lt;action name=...

    Struts 2综合应用实例——添加学生信息

    &lt;tr&gt;&lt;td&gt;&lt;s:submit value="添加"&gt;&lt;/s:submit&gt;&lt;/td&gt;&lt;td&gt;&lt;s:reset value="重置"&gt;&lt;/s:reset&gt;&lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;/s:form&gt; &lt;/body&gt; &lt;/html&gt; ``` **6. JavaBean与数据库连接类** - 在`src`文件夹下创建一个名为`...

    实验考试一.doc

    &lt;tr&gt;&lt;td&gt;&lt;s:submit value="添加"&gt;&lt;/s:submit&gt;&lt;/td&gt;&lt;td&gt;&lt;s:reset value="重置"&gt;&lt;/s:reset&gt;&lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;/s:form&gt; &lt;/body&gt; &lt;/html&gt; ``` 6. **建立表对应的JavaBean和DBConn类** - 在`src`文件夹下...

    雅虎TAB效果代码 Javascript实现

    --[if lte IE 6]&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/a&gt;&lt;![endif]--&gt; &lt;/li&gt; &lt;/ul&gt; &lt;br class="clear" /&gt; &lt;ul&gt; &lt;li&gt;&lt;a href="#nogo" class="four outer"&gt;SEARCH&lt;!--[if IE 7]&gt;&lt;!--&gt;&lt;/a&gt;&lt;!--&lt;![endif]--&gt; &lt;!--[if lte IE 6]&gt;&lt;table&gt;...

    android大作业11

    android:id="@+id/stu_name" android:layout_width="320dp" android:layout_height="wrap_content" /&gt; &lt;/LinearLayout&gt; &lt;LinearLayout android:id="@+id/l_3" android:layout_below="@id/l_2" android:layout_...

    Struts2实现分页代码

    &lt;filter-name&gt;struts2&lt;/filter-name&gt; &lt;filter-class&gt; org.apache.struts2.dispatcher.FilterDispatcher &lt;/filter-class&gt; &lt;/filter&gt; &lt;filter-mapping&gt; &lt;filter-name&gt;struts2&lt;/filter-name&gt; &lt;url-pattern&gt;/*&lt;/...

    在SQL Server 2005中使用XML数据.pdf

    set @stu = '&lt;students&gt;&lt;student stuid="s100"&gt;&lt;name&gt;王强&lt;/name&gt;&lt;sex&gt;男&lt;/sex&gt;&lt;address&gt;珠海市香洲区人民路100号&lt;/address&gt;&lt;phone&gt;8866123&lt;/phone&gt;&lt;/student&gt;&lt;/students&gt;' ``` 如果需要将XML数据存储到表中,可以...

    freemarker总结

    [ {“Akey”:”Avalue”},{“Akey1”:”Avalue1”}, {“Bkey”:”Bvalue”},{“Bkey1”:”Bvalue1”}, ] hashes {“you”:”a”,”me”:”b”,”he”:”c”} 注释标志 &lt;#-- 这里是注释 --&gt; 旧版本的freemarker...

    MyBatis最全教程!!!!

    在本例中,创建了一个名为`tb_students`的数据表,包含stu_id、stu_num、stu_name、stu_gender和stu_age字段。 2.2 **创建实体类** 实体类通常对应数据库中的表,使用Lombok库可以简化实体类的代码,例如: ```java...

    实验4.docx

    echo "&lt;tr&gt;&lt;th&gt;ID&lt;/th&gt;&lt;th&gt;姓名&lt;/th&gt;&lt;th&gt;性别&lt;/th&gt;&lt;th&gt;年龄&lt;/th&gt;&lt;th&gt;专业&lt;/th&gt;&lt;th&gt;联系方式&lt;/th&gt;&lt;th&gt;爱好&lt;/th&gt;&lt;th&gt;操作&lt;/th&gt;&lt;/tr&gt;"; while($row = $result-&gt;fetch_assoc()) { echo "&lt;tr&gt;&lt;td&gt;" . $row["id"]. "&lt;/...

    MyBatis搭建MyBatis

    可以使用MySQL数据库管理工具(如Navicat)创建一个新的数据库(例如名为stu的数据库),然后在该数据库中创建一个表(如student表),并向表中插入一些测试数据。SQL语句示例如下: ```sql SET FOREIGN_KEY_CHECKS...

    php添加数据到xml文件的简单例子

    &lt;name&gt;张三&lt;/name&gt; &lt;yuwen&gt;80&lt;/yuwen&gt; &lt;shuxue&gt;90&lt;/shuxue&gt; &lt;yingyu&gt;70&lt;/yingyu&gt; &lt;/xuesheng&gt; &lt;xuesheng&gt; &lt;name&gt;李四&lt;/name&gt; &lt;yuwen&gt;60&lt;/yuwen&gt; &lt;shuxue&gt;90&lt;/shuxue&gt; &lt;yingyu&gt;75&lt;/yingyu&gt; &lt;/xuesheng&gt; &lt;/...

    MyBatis更新数据.txt

    添加映射—— &lt;?xml version="1.0" encoding="UTF-8" ?&gt; &lt;!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ... update stu_tbl set name=#{name}, age=#{age} where id=#{id} &lt;/update&gt; &lt;/mapper&gt;

    spring-boot-Thymeleaf 模板

    &lt;p th:text="${stu.name}"&gt;默认名称&lt;/p&gt; &lt;p th:text="${stu.sex}"&gt;默认性别&lt;/p&gt; &lt;p th:text="${stu.aihao}"&gt;默认爱好&lt;/p&gt; &lt;p th:text="${stu.jiguan}"&gt;默认籍贯&lt;/p&gt; &lt;ul&gt; &lt;li th:each="hobby : ${hobbies}" ...

Global site tag (gtag.js) - Google Analytics