java截取字符串—substring的用法

本文介绍了一种在Java中处理从Excel导出数据时出现的尾部多余逗号问题的方法。通过使用substring函数,可以有效地移除字符串末尾的逗号,确保数据的准确性和整洁性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言:遇到如下问题,excel导出来的数据多了一个逗号,把结尾的逗号去掉。

在这里插入图片描述

 	    String area = "";
            String pNo = "";
            String room = "";

            TPositionExample pex = new TPositionExample();
            pex.createCriteria().andExhibitionIdEqualTo(exhibitionId).andGroupidEqualTo(o.getGroupId());
            List<TPosition> positionList = positionService.selectByExample(pex);

            if (CollectionUtils.isNotEmpty(positionList)) {
                for (TPosition position : positionList) {
                    pNo += position.getExhibitonPositionNo() + ",";

                    area += StringUtils.isEmpty(position.getArea()) ? "0," : (position.getArea() + ",");

                    room += position.getRoomName() + ",";

                }
                if (pNo != null && pNo.lastIndexOf(",") != -1) {
                    pNo = pNo.substring(0, pNo.length() - 1);
                }
                if (area != null && area.lastIndexOf(",") != -1) {
                    area = area.substring(0, area.length() - 1);
                }
                if (room != null && room.lastIndexOf(",") != -1) {
                    room = room.substring(0, room.length() - 1);
                }

            }

解决:只拿一个字段只举一个例子

String pNo = "";
for (TPosition position : positionList) {
                    pNo += position.getExhibitonPositionNo() + ",";
                }
if (pNo != null && pNo.lastIndexOf(",") != -1) {
                    pNo = pNo.substring(0, pNo.length() - 1);
                }

总结:不知道是否在这里看出了重点,重点就是substring,substring的用法:substring() 方法用于提取字符串中介于两个指定下标之间的字符。提示一点:substring() 不接受负的参数。刚开始我没有判空,直接报异常了,就是因为substring() 为负的原因。加上判空就好了。

1.substring(x)是从字符串的第x个字符截取
2.substring(x,y)是从字符串的第x个字符到第y个字符位置的停止
回答: 在C#中,可以使用Substring方法来截取字符串。该方法接受两个参数,第一个参数是起始位置的索引,第二个参数是要截取的字符数。例如,oriString.Substring(0, 2)将从第一个字符开始截取2个字符,输出结果为"He"。而oriString.Substring(2, 3)将从第一个'l'开始截取3个字符,输出结果为"llo"。如果只传入一个参数,即oriString.Substring(6),则从第七个字符开始截取字符串的末尾,输出结果为"Kitty!"。需要注意的是,当指定的索引超出字符串的长度时,会发生字符串截取越界的问题,因此在使用Substring方法时需要注意参数的合法性。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [C#中截取字符串 Substring 使用方法](https://blog.youkuaiyun.com/ba_wang_mao/article/details/107505387)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [Java截取字符串substring)](https://blog.youkuaiyun.com/weixin_40052298/article/details/121868965)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值