java中split函数参数特殊字符的处理(转义),如:"." 、"\"、"|"
内容介绍
本文主要介绍java中特殊字符做为split函数的参数,如:"." 、"\"、"|",双引号等,不能正确分隔源字符串的处理方法。
代码示例
使用"|"进行分隔的代码
String reclassData= "0,15,0|15,30,1|30,45,2|45,60,3|60,75,4|75,90,5|'NODATA','NODATA'";
String[] arrData = reclassData.split("|");
arrData的值如下:
很显然,这结果不是我们想要的预期结果,追其原因,因为"|"是特殊字符,在使用split函数时,需要转义,即:"\\|",修改后的代码如下:
String reclassData= "0,15,0|15,30,1|30,45,2|45,60,3|60,75,4|75,90,5|'NODATA','NODATA'";
String[] arrData = reclassData.split("\\|");
结果如下:
这次结果对了,像"|"这样的特殊字符还有".","\","$",在使用时,均需要转义。
String reclassData4 = "0,15,0$15,30,1$30,45,2$45,60,3$60,75,4$75,90,5$'NODATA','NODATA'";
String[] arrData4 = reclassData4.split("\\$");
String reclassData2 = "0,15,0.15,30,1.30,45,2.45,60,3.60,75,4.75,90,5.'NODATA','NODATA'";
String[] arrData2 = reclassData2.split("\\.");
在使用"\"分隔时,要注意在源字符串要使用"\\"进行转义,而split的参数要使用"\\\\",代码如下:
String reclassData3 = "0,15,0\\15,30,1\\30,45,2\\45,60,3\\60,75,4\\75,90,5\\'NODATA','NODATA'";
String[] arrData3 = reclassData3.split("\\\\");
尽量避免使用英文状态下的单引号、双引号来做为split的参数,如迫不得已,使用下面的方式来处理:
//双引号的处理
String reclassData5 = "0,15,0\"15,30,1\"30,45,2\"45,60,3\"60,75,4\"75,90,5\"'NODATA','NODATA'"; String[] arrData5 = reclassData5.split("\"");
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· AI与.NET技术实操系列(六):基于图像分类模型对图像进行分类