字符串截取(记一次工作总结)
来源:互联网 发布:log4j sql日志级别 编辑:程序博客网 时间:2024/06/17 05:41
问题描述:车辆车牌号码的展示,杭州车牌电动车车牌前面都是杭州XXXXXXX,HBXXXXXXX,等等。现在客户要求根据电动二轮车,电动三轮车,车牌重新命名。比如电动二轮车,车牌号统一以数字2开头,组成纯7位数字;电动三轮车,车牌号同意以数字3开头,组成纯7位数字。
解决方法:原数据库表不动,重新建立一张数据库表,用来存储客户需要的车牌号码。通过字符串拼截取方法。
原来的车牌查询结果如图:
重新截取后结果,客户期望看到的结果:
具体步骤如下:
第一步在数据库中建立新的表
CREATE TABLE `cx_tracarnumber` ( `id` int(10) NOT NULL AUTO_INCREMENT, `carnumber` varchar(15) DEFAULT NULL, `username` varchar(15) DEFAULT NULL, `type` varchar(15) DEFAULT NULL, `deviceid` varchar(15) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
有两点需要注意的id 是主键,且id 是自增长的。
第二步:
@Controller@RequestMapping(value="/admin")public class TranslateCarnumberController { /** * 车辆基本信息 */ @Autowired Car_Service car_Service; @Autowired CxTracarnumberService cxTracarnumberService; @RequestMapping(value="/car/Trans_CarNumber") public void Trans_CarNumber(){ CxTracarnumber cxTracarnumber = new CxTracarnumber(); List<Car> tarList = car_Service.selectCarList(); for (int i = 0; i <tarList.size(); i++) { // 车辆类型 含有 二 则为 截取号码为 数字2 开头使用 if (tarList.get(i).getType().indexOf("二") != -1) {// System.out.println("车辆类型 含有 二 则为 截取号码为 数字2 开头使用"); String carnumber = "2"+tarList.get(i).getCarnumber().substring(tarList.get(i).getCarnumber().length()-6); String username = tarList.get(i).getUsername(); String type =tarList.get(i).getType(); String deviceid = tarList.get(i).getDeviceid(); String id = tarList.get(i).getId(); cxTracarnumber.setCarnumber(carnumber); cxTracarnumber.setUsername(username); cxTracarnumber.setType(type); cxTracarnumber.setDeviceid(deviceid);// cxTracarnumber.setId(id+""); cxTracarnumberService.insertSelective(cxTracarnumber); }else{ // 车辆类型 含有 三 则为 截取号码为 数字3开头使用// System.out.println("车辆类型 含有 三 则为 截取号码为 数字3开头使用"); String carnumber = "3"+tarList.get(i).getCarnumber().substring(tarList.get(i).getCarnumber().length()-6); String username = tarList.get(i).getUsername(); String type =tarList.get(i).getType(); String deviceid = tarList.get(i).getDeviceid(); cxTracarnumber.setCarnumber(carnumber); cxTracarnumber.setUsername(username); cxTracarnumber.setType(type); cxTracarnumber.setDeviceid(deviceid); cxTracarnumberService.insertSelective(cxTracarnumber); } } } // 判断一个字符串是否都为数字 public boolean isDigit(String strNum) { return strNum.matches("[0-9]{1,}"); } }
注意:
这里先进行车辆类型的判断,如果车辆类型中包含二,则为二轮车,车牌号以数字2开头。同理则为三轮车,车牌以数字3开头。
这个是字符串的截取。通过for循环,先获取车牌号,然后截取车牌号的后六位,则转为目标车牌号码。
String carnumber = "2"+tarList.get(i).getCarnumber().substring(tarList.get(i).getCarnumber().length()-6);
最后将结果插入到数据库中。因为ID是自增长,所以不需要设置id。创建数据库表的时候,默认以1开始。
测试的时候执行该方法,可转为期望的结果。
《end》
阅读全文
0 0
- 字符串截取(记一次工作总结)
- 记一次工作总结
- 从字符串中截取最长的没有重复字符的子字符串(一次循环)
- 记一次js中和php中的字符串长度计算截取的终极问题和完美解决方案
- MyBatis 接收数据库中没有的字段(记一次工作总结)
- 字符串截取(C#)
- 截取字符串(自学)
- 字符串截取(日期)
- Substrings(截取字符串)
- 截取mysql字符串最后一次出现的位置
- 根据字符串出现在字符中的次序截取 + 替换一次
- 字符串截取(按byte截取)
- 字符串转换和toString()、字符截取charAt()、一次截取多个字符getChars()
- 图像分割工作总结(二)字符串
- 字符串截取(截取最后一个@前的字符串)
- oracle截取字符串(截取某个字符前面的字符串)
- 字符串运用-密码截取(截取最大对称字符串)
- 精确截取字符串(转载)
- 自主订餐脚本
- 二叉树的递归遍历算法解析
- 生命3.0读书笔记
- 两个互相引用对象的垃圾回收
- Unix-Linux编程实践教程——第十三章
- 字符串截取(记一次工作总结)
- SpringMVC实现文件上传下载
- JZ2440 第6章 存储控制器
- ajax提交表单和文件上传
- tensorflow之可视化工具tesorboard的简单使用
- ACM学习总结之A+B问题
- 面试编程题3:元素去重
- IDENTITY_INSERT
- 浅谈JavaScript异步加载的三种方式——async和defer、动态创建script