最近做工程时,遇到需要循环截取字符串的情况,写一篇日记,记录处理方法。

需求

从数据库取回来的数据格式如下:

西南-零起点-香年广场店-煎饼侠

即  有效字符串1-有效字符串2-有效字符串3 ……。

现在需要根据"-"字符挑选出有效字符串。

java自带的方法如下

String userInfoAll = "西南-零起点-香年广场店-煎饼侠";

String[] strArray= userInfoAll.split("-");

//接着获取需要的数据

System.out.println("数据1:",strArray[0]);

System.out.println("数据2:",strArray[1]);

System.out.println("数据3:",strArray[2]);

System.out.println("数据4:",strArray[3]);

如果从数据库取回来的数据一直都是  有效字符串1-有效字符串2-有效字符串3- ……的格式,则没有任何问题,现在我从数据库取回来的数据是这样的:

西南-零起点--

这里很明显,后面两个数据在数据库是没有查到的,所以显示成了空白。数据库查询如下

--查询该客户所属区域、经销商、门店、销售员

select tz.zone_name, tf.fchs_name, ts.store_name, tsr.selr_name into l_zoneName,l_fchsName,l_storeNme,l_selrNme

from t_customer tc

left join t_zone tz

on tc.zone_id = tz.zone_id

left join t_franchiser tf

on tc.fchs_id = tf.fchs_id

left join t_store ts

on tc.store_id = ts.store_id

left join t_seller tsr

on tc.selr_id = tsr.selr_id

where trim(tc.idcard_no) = trim(i_idCardNo);

--字符串拼接

o_userInfoAll := l_zoneName || '-'|| l_fchsName || '-'|| l_storeNme || '-'||l_selrNme;

很明显,查询结果采用的是左连接,所以说数据可能存在为空的情况,但是此时依然会拼接分隔符"-"。

出现如上问题,我的解决方法如下

判断取回来的有效字符串的个数,然后再取值

java代码如下:

//从服务器取回来的数据

String userInfoAll = (String) map.get("o_userInfoAll");

String[] strArray= userInfoAll.split("-");

String baseInfo = "已存在用户信息:";

System.out.println("从数据库取回来的数据:"+userInfoAll);

//赋值

String zoneName = "区域:"+"--"+";";

String fchsName = "经销商:"+"--"+";";

String storeNme = "门店:"+"--"+";";

String selrNme = "销售员:"+"--"+";";

//循环判断取值

if(strArray.length > 3)

{

zoneName = zoneName.replace("--", strArray[0]);

fchsName = fchsName.replace("--", strArray[1]);

storeNme = storeNme.replace("--", strArray[2]);

selrNme = selrNme.replace("--", strArray[2]);

}else if(strArray.length > 2)

{

zoneName = zoneName.replace("--", strArray[0]);

fchsName = fchsName.replace("--", strArray[1]);

storeNme = storeNme.replace("--", strArray[2]);

}else if(strArray.length > 1)

{

zoneName = zoneName.replace("--", strArray[0]);

fchsName = fchsName.replace("--", strArray[1]);

}else if(strArray.length > 0)

{

zoneName = zoneName.replace("--", strArray[0]);

}else

{

System.out.println("什么也不处理");

}

//拼接输出

String strAll = baseInfo+zoneName+fchsName+storeNme+selrNme;自此,结束。

java 循环截取字符串_Java --循环截取字符串相关推荐

  1. java中截取部分字符串_JAVA中截取字符串substring用法详解

    substring public String substring(int beginIndex) 返回一个新的字符串,它是此字符串的一个子字符串.该子字符串始于指定索引处的字符,一直到此字符串末尾. ...

  2. java截取倒数后六位的字符串_JAVA中截取字符串substring用法详解

    substring public String substring(int beginIndex) 返回一个新的字符串,它是此字符串的一个子字符串.该子字符串始于指定索引处的字符,一直到此字符串末尾. ...

  3. java 控制台输入字符串_Java控制台输入字符串及字符串比较

    需求描述:茵茵很喜欢研究车牌号码,从车牌号码上可以看出号码注册的早晚,据研究发现,车牌号码是按字典序发放的,现在她收集了很多车牌号码,请你设计程序帮她判断注册较早的号码.车牌号码由5个字母或数字组成. ...

  4. Java中循环队列实现_Java循环队列的实现方法

    Java循环队列的实现方法 时间:2017-09-13     来源:华清远见JAVA学院 生活中有很多队列的影子,比如打饭排队,买火车票排队问题等,可以说与时间相关的问题,一般都会涉及到队列问题.那 ...

  5. java 字符分割函数_java中的字符串分割函数

    Java中的我们可以利用split把字符串按照指定的分割符进行分割,然后返回字符串数组,下面是string.split的用法实例及注意事项: java.lang.string.split split ...

  6. java 过滤字符串_java实现压缩字符串和java字符串过滤

    题目一:通过键盘输入一串小写字母(a~z)组成的字符串. 请编写一个字符串过滤程序,若字符串中出现多个相同的字符,将非首次出现的字符过滤掉. 比如字符串"abacacde"过滤结果 ...

  7. java 字符长度 中文_java判断中文字符串长度的简单实例

    话不多说,上代码: /** * 获取字符串的长度,如果有中文,则每个中文字符计为2位 * @param value 指定的字符串 * @return 字符串的长度 */ public static i ...

  8. java 判断全角_Java如何判断字符串中包含有全角,半角符号

    首先介绍下全角跟半角之间的区别: 在计算机屏幕上,一个汉字要占两个英文字符的位置,人们把一个英文字符所占的位置称为"半角",相对地把一个汉字所占的位置称为"全角" ...

  9. java判断字符长度_java判断中文字符串长度的简单实例

    话不多说,上代码: /** * 获取字符串的长度,如果有中文,则每个中文字符计为2位 * @param value 指定的字符串 * @return 字符串的长度 */ public static i ...

最新文章

  1. Theme、StylesheetTheme设置ASP.NET的样式与主题
  2. DDMS的使用、内存溢出的调试和模拟器的启动命令参数
  3. boost::test模块装饰器数据测试用例测试
  4. java调c++代码_Java中调用C++代码的实现 | 学步园
  5. shell shocked伴奏版_Shell Shocked
  6. 电脑无法启动故障的10种解决方法
  7. 特斯拉最廉价车型——基础版Model 3将取消网售
  8. sql 查出一张表中重复的所有记录数据并且删除
  9. 揭秘淘宝286亿海量图片存储与处理架构(转)
  10. 禁用和卸载树莓派 4B 上 avahi-daemon
  11. S-CMS医院建站系统XXE通用漏洞的利用与防御
  12. 华为鸿蒙会适配很老的机型吗,华为鸿蒙适配机型公布 P50首发/小米10S才是真正至尊版...
  13. alios下载_AliOS Studio开源工具|AliOS Cloud App集成开发环境(AliOS Studio)下载 v1.2.1 官方Windows版 - 比克尔下载...
  14. 实时监控linux的日志命令
  15. 【Ubuntu】ubuntu 安装 ES (ElasticSearch)
  16. 关于安装Ubuntu20.04重启后反复进入bios界面
  17. [英语语法]词法之连词
  18. ocr 哪个好 外文_ocr英文识别软件哪个好 好用的ocr英文识别软件推荐
  19. ES6 (十三)Set 和 Map 数据结构、WeakSet 和 WeakMap、WeakRef、FinalizationRegistry
  20. 大学计算机教案封面模板,大学教案模板可打印.doc

热门文章

  1. Credo宣布推出适用于机架内CLOS应用的HiWire™低功耗有源电缆400G PAM4铜质互连线
  2. 什么牌子蓝牙耳机好?游戏党双十一最强蓝牙耳机选购清单
  3. 计算机的优势劣势,平板计算机的优势和缺点介绍【图文】
  4. windows下运行pointnet(全)
  5. 影响贝佐斯的12本书
  6. 准备情人节礼物比写代码难?来看看IT直男给女友们的礼物 1
  7. 目前各类型准确率最高的图像识别算法
  8. 网易公司与南京江北新区签约,将共建三大基地
  9. [项目技巧]VUE小米商城+跨域+sass编译器封装+吸顶功能
  10. vue修改标签页logo图片