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
分享到:
相关推荐
NULL 博文链接:https://zhangmingwei.iteye.com/blog/1741838
<li> <a class="menu" href="#nogo"><b class="snazzy"><span class="boxcontent red">item #1</span> <b class="b4 red"></b><b class="b3 red"></b><b class="b2 red"></b><b class="b1"></b> </b></a> </li> ...
<td><input type="text" name="name"></td> </tr> <tr> <td>性别</td> <td><input type="text" name="sex"></td> </tr> <tr> <td>年龄</td> <td><input type="text" name="age"></td> </tr> <tr> <td>...
<td><a href="updateinformation.jsp">更改信息 >></a></td> </tr> </table> <p> <a href="login_confirm?action=logout"><<注销 </a></p> </body> < html> (3) 修改项学生...
<li><a href="AddStu.asp" class="xxxg">学生信息修改</a></li> <li><a href="AddStuScore.asp" class="cjlr STYLE2">学生成绩录入</a></li> </ul> <div id="clear"></div> </div> </div> </div> ...
<result name="success">list.jsp</result> </action> <action name="delete" class="cn.fjnu.edu.action.AddAction" method="deletestu"> <result name="success">list.jsp</result> </action> <action name=...
--[if lte IE 6]></td></tr></table></a><![endif]--> </li> </ul> <br class="clear" /> <ul> <li><a href="#nogo" class="four outer">SEARCH<!--[if IE 7]><!--></a><!--<![endif]--> <!--[if lte IE 6]><table>...
<student:name>stu1</student:name> <student:sex>girl</student:sex> </teacher:student> </teacher:teacher> (2)用名域限定属性 <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <teacher:...
[ {“Akey”:”Avalue”},{“Akey1”:”Avalue1”}, {“Bkey”:”Bvalue”},{“Bkey1”:”Bvalue1”}, ] hashes {“you”:”a”,”me”:”b”,”he”:”c”} 注释标志 <#-- 这里是注释 --> 旧版本的freemarker...
<name>张三</name> <yuwen>80</yuwen> <shuxue>90</shuxue> <yingyu>70</yingyu> </xuesheng> <xuesheng> <name>李四</name> <yuwen>60</yuwen> <shuxue>90</shuxue> <yingyu>75</yingyu> </xuesheng> </...
添加映射—— <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ... update stu_tbl set name=#{name}, age=#{age} where id=#{id} </update> </mapper>
<br>class Myclass{}<br>3)/* This is a comment */<br>package Mypackage;<br>import java.awt.*;<br>class Mycalss{}<br>17. 编译和执行下例代码会输出什么?<br>public class Q <br>public static void main...
public Stu getName(String a,int b,Stu su); } 2 服务端实现接口 @Service("IExampleImpl") // 实现接口的类名 接口名+Impl @Invoke //ps:此注解是标识..无此注解将不能调用的类 public class IExampleImpl...
2、在managed-schema(在server/solr/stu/conf目录下,这里选的自定义core即stu)文件中添加新分词器 <fieldType name="text_hmm_chinese" class="solr.TextField" positionIncrementGap="100"> <analyzer type=...
添加映射—— <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ... insert into stu_tbl(name,age) values(#{name},#{age}) </insert> </mapper>
cout<<"出生日期:"<<year<<"-"<<month<<"-"<<data<<endl; } void person::read() //输入person { cout<<"姓名:"<<endl; cin>>name; cout<<endl; cout<< "性别:"<<endl; cin>>sex; cout<<endl; cout<<"地址:...
添加映射—— <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace=...</mapper>
使用Map 映射文件 ... <select id="selectStudentByNameAndAge" resultType="Student" parameterType="map"> select * from stu_tbl where name = #{name} and age = #{age} </select> </mapper>
#include <string.h> #include <iostream.h> //类的说明部分 class student //定义类(class) student { private: //私有部分 public: //公共部分 long num; //学号 char name[20]; //姓名 char sex[10]; //性别...
<br>http://www.cnblogs.com/ghd258/articles/257711.html<br><br>精典浮动网页<br>http://www.menllo.com/11296/favorite<br><br>获得PDF页数<br>http://topic.csdn.net/t/20061211/14/5221920.html<br><br>读取PDF...