java中遇到过的String的一些特性

1.string对象是final的?

1 String str="asdfdf";
2 str.replace("as","");
3 System.out.println(str);//asdfdf
4 str=str.replace("as","");
5 System.out.println(str);//dfdf

2.字符串的切割

遇到根据url获取参数的问题: enterId = Long.parseLong(target.split("/")[2]);这个要处理切割字符串问题splitapi里是这样的: public String[] split(String regex,int limit)根据匹配给定的正则表达式来拆分此字符串。 此方法返回的数组包含此字符串的子字符串,每个子字符串都由另一个匹配给定表达式的子字符串终止,或者由此字符串末尾终止。数组中的子字符串按它们在此字符串中出现的顺序排列。如果表达式不匹配输入的任何部分,那么所得数组只具有一个元素,即此字符串。limit 参数控制模式应用的次数,因此影响所得数组的长度。如果该限制 n 大于 0,则模式将被最多应用 n - 1 次,数组的长度将不会大于 n,而且数组的最后一项将包含所有超出最后匹配的定界符的输入。如果 n 为非正,那么模式将被应用尽可能多的次数,而且数组可以是任何长度。如果 n 为 0,那么模式将被应用尽可能多的次数,数组可以是任何长度,并且结尾空字符串将被丢弃。 例如,字符串 "boo:and:foo" 使用这些参数可生成以下结果: Regex Limit 结果 : 2 { "boo", "and:foo" } : 5 { "boo", "and", "foo" } : -2 { "boo", "and", "foo" } o 5 { "b", "", ":and:f", "", "" } o -2 { "b", "", ":and:f", "", "" } o 0 { "b", "", ":and:f" } public String[] split(String regex)根据给定正则表达式的匹配拆分此字符串。 该方法的作用就像是使用给定的表达式和限制参数 0 来调用两参数 split 方法。因此,所得数组中不包括结尾空字符串。 例如,字符串 "boo:and:foo" 使用这些表达式可生成以下结果: Regex 结果 : { "boo", "and", "foo" } o { "b", "", ":and:f" } 参数:regex - 定界正则表达式 返回:字符串数组,它是根据给定正则表达式的匹配拆分此字符串确定的 抛出: PatternSyntaxException - 如果正则表达式的语法无效

3.对json字符串去空值

上传代码错误导致数据库中地址存储有问题,有一些空的value,还有结尾多了两个键值对,当然也有的没问题。对sql掌握比较差,于是选择了用java处理,更新数据库。

处理的数据对象是这样的:

1 '{\"showImg_1\":\"/upload/webHome/template/4ddedebb-7615-4686-b27a-b515a6a5a2cc.jpg\",\"showImg_2\":\"/upload/webHome/template/2c0806ee-6165-4b95-949d-340ddad18171.jpg\",\"showImg_3\":\"/upload/webHome/template/35464a57-a987-4e40-91b4-f5b33e343f46.jpg\",\"showImg_4\":\"/upload/webHome/template/9bddbbd6-1ad2-4290-b087-caa26bf93197.jpg\",\"showImg_5\":\"/upload/webHome/template/604b7531-384b-4052-93cb-e5d51182023b.jpg\",\"showImg_6\":\"/upload/webHome/template/4673cf82-fa07-4acc-ac7c-e5c7ef9af687.jpg\",\"showImg_7\":\"\",\"showImg_8\":\"\",\"emplate.quickmark\":\"/upload/webHome/template/27b4cb88-b3b2-4046-bedd-c4ad92735310.jpg\",\"emplate.img\":\"/upload/webHome/template/7949e9eb-eb86-4d54-ab09-1271ea202b2e.jpg\"}'

用的jfinal框架:

 1 /**
 2      * 处理错误数据
 3      */
 4     public void manageSQL(){
 5         String sql="select * from _table";
 6          List<Record> list=Db.find(sql);
 7          setAttr("length",list.size());
 8          for(int i=0; i<list.size(); i++){
 9              //取出一条记录
10              Record r=list.get(i);
11              //取出json数据
12              String json=r.getStr("showImg");
13              setAttr("old=",json);
14              //去除emplate为key的开头的错误数据
15              int ind=json.indexOf(",\"emplate");
16              if(ind>0){
17                  json=json.substring(0, ind)+"}";
18              }
19              setAttr("new=",json);
20              //去除value为""的元素
21              json=json.replaceAll("((?<=\\{)\"\\w+\":\"\",|,*\"\\w+\":\"\")", "");
22              setAttr("all:"+i,json);
23              
24              System.out.println(json+"=========");
25              
26              //入库保存更新
27              r.set("showImg", json);
28              
29              Db.update("home_template",r);
30              
31          }
32          
33          renderJson();
34     }

4.String对象的一些方法:

length() - 返回长度,注意和js中不同,js里面是length属性。

     对应长度:Array的长度-length;List的长度-size(); 

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏锦小年的博客

python学习笔记2.4-数据结构之列表和元组

python语言中包含的数据结构比较简单,除了简单的变量以外,还有列表(元组)、字典、集合。对于数据结构的操作一般包含四种:增、删、查、改。本文主要介绍列表(l...

1849
来自专栏mathor

泛型

2027
来自专栏用户3030674的专栏

java进制转换(无视正负数的差别)

1382
来自专栏desperate633

深入理解javascript中的继承机制(4)多继承寄生式继承借用构造函数借用构造函数并且复制原型以上

我们知道多继承是面向对象的语言中比较纠结的一个问题,有好处也存在缺陷。这方面我们不多讨论。就javascript而言,要实现多继承是比较简单的,因为javasc...

761
来自专栏hbbliyong

C#,一些非常简单但应该知道的知识点

1.本地变量 一看这个标题你可能会一愣,这是个什么东东。看个小例子: static void main() {    int a=10;    MyClass ...

4279
来自专栏Python爱好者

Java基础笔记12

1443
来自专栏码云1024

JAVA 第二天 关键字

2727
来自专栏转载gongluck的CSDN博客

野指针分析

1. 野指针的概念   所谓的野指针,就是说指针指向的那块内存,你没有合法操作的权限,也就是指针指向非法的内存空间,这样的指针就叫做野指针。 2. 野指针产...

3757
来自专栏塔奇克马敲代码

第7章 类

1674
来自专栏前端知识分享

第38天:运算符、字符串对象常用方法

console.log(0||1);   1 console.log(1||0);   1 console.log(1||5);   1 console.log...

822

扫码关注云+社区