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
分享到:
相关推荐
首先,我们要明确字符串`string=@"<stu><name>a<b<<<name/>qw<stu/>"`是一个包含XML样式的结构,其中`<stu>`和`</stu>`是元素标签,`<name>`和`</name>`是name元素的开始和结束标签。`<b`和`/>`表示一个没有结束标签...
<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>...
<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=...
<tr><td><s:submit value="添加"></s:submit></td><td><s:reset value="重置"></s:reset></td></tr> </table> </s:form> </body> </html> ``` **6. JavaBean与数据库连接类** - 在`src`文件夹下创建一个名为`...
<tr><td><s:submit value="添加"></s:submit></td><td><s:reset value="重置"></s:reset></td></tr> </table> </s:form> </body> </html> ``` 6. **建立表对应的JavaBean和DBConn类** - 在`src`文件夹下...
--[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>...
android:id="@+id/stu_name" android:layout_width="320dp" android:layout_height="wrap_content" /> </LinearLayout> <LinearLayout android:id="@+id/l_3" android:layout_below="@id/l_2" android:layout_...
<filter-name>struts2</filter-name> <filter-class> org.apache.struts2.dispatcher.FilterDispatcher </filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</...
set @stu = '<students><student stuid="s100"><name>王强</name><sex>男</sex><address>珠海市香洲区人民路100号</address><phone>8866123</phone></student></students>' ``` 如果需要将XML数据存储到表中,可以...
[ {“Akey”:”Avalue”},{“Akey1”:”Avalue1”}, {“Bkey”:”Bvalue”},{“Bkey1”:”Bvalue1”}, ] hashes {“you”:”a”,”me”:”b”,”he”:”c”} 注释标志 <#-- 这里是注释 --> 旧版本的freemarker...
在本例中,创建了一个名为`tb_students`的数据表,包含stu_id、stu_num、stu_name、stu_gender和stu_age字段。 2.2 **创建实体类** 实体类通常对应数据库中的表,使用Lombok库可以简化实体类的代码,例如: ```java...
echo "<tr><th>ID</th><th>姓名</th><th>性别</th><th>年龄</th><th>专业</th><th>联系方式</th><th>爱好</th><th>操作</th></tr>"; while($row = $result->fetch_assoc()) { echo "<tr><td>" . $row["id"]. "</...
可以使用MySQL数据库管理工具(如Navicat)创建一个新的数据库(例如名为stu的数据库),然后在该数据库中创建一个表(如student表),并向表中插入一些测试数据。SQL语句示例如下: ```sql SET FOREIGN_KEY_CHECKS...
<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>
<p th:text="${stu.name}">默认名称</p> <p th:text="${stu.sex}">默认性别</p> <p th:text="${stu.aihao}">默认爱好</p> <p th:text="${stu.jiguan}">默认籍贯</p> <ul> <li th:each="hobby : ${hobbies}" ...