Java中的字符串分割

java 利用正则表达式从字符串中提取省、市、区、镇、乡等区域名称(包含少数民族地区),支持地址中无省,无市,无县情况。 立即下载

转自 http://blog.youkuaiyun.com/yuwenhao0518/article/details/7161059

          http://longkm.blog.163.com/blog/static/116662640200971541741/

 

java中的split函数和js中的split函数不一样。 

Java中的我们可以利用split把字符串按照指定的分割符进行分割,然后返回字符串数组,下面是string.split的用法实例及注意事项: 
java.lang.string.split 
split 方法 
将一个字符串分割为子字符串,然后将结果作为字符串数组返回。 
stringObj.split([separator,[limit]]) 免费资源收集网(http://www.freezq.cn) 
stringObj 
必选项。要被分解的 String 对象或文字,该对象不会被split方法修改。 
separator 
可选项。字符串或正则表达式对象,它标识了分隔字符串时使用的是一个还是多个字符。如果忽略该选项,返回包含整个字符串的单一元素数组。 
limit 
可选项。该值用来限制返回数组中的元素个数(也就是最多分割成几个数组元素,只有为正数时有影响) 
split 方法的结果是一个字符串数组,在 stingObj 中每个出现 separator 的位置都要进行分解。separator不作为任何数组元素的部分返回。 
示例1: 
      String str="Java string split test"; 
      String[] strarray=str.split(" "); 
      for (int i = 0; i < strarray.length; i++) 
          System.out.println(strarray[i]); 
将输出: 
Java 
string 
split 
test 

示例2: 
      String str="Java string split test"; 
      String[] strarray=str.split(" ",2);//使用limit,最多分割成2个字符串 
      for (int i = 0; i < strarray.length; i++) 
          System.out.println(strarray[i]); 
将输出: 
Java 
string split test 

示例3: 
      String str="192.168.0.1"; 
      String[] strarray=str.split("."); 
      for (int i = 0; i < strarray.length; i++) 
          System.out.println(strarray[i]); 
结果是什么也没输出,将split(".")改为split("\\."),将输出正确结果: 
192 
168 
0 
1 

经验分享: 
1、分隔符为“.”(无输出),“|”(不能得到正确结果)转义字符时,“*”,“+”时出错抛出异常,都必须在前面加必须得加"\\",如split(\\|); 
2、如果用"\"作为分隔,就得写成这样:String.split("\\\\"),因为在Java中是用"\\"来表示"\"的,字符串得写成这样:String Str="a\\b\\c"; 
转义字符,必须得加"\\"; 
3、如果在一个字符串中有多个分隔符,可以用"|"作为连字符,比如:String str="Java string-split#test",可以用Str.split(" |-|#")把每个字符串分开; 

 

 

使用String.split方法时要注意的问题

在使用String.split方法分隔字符串时,分隔符如果用到一些特殊字符,可能会得不到我们预期的结果。
我们看jdk doc中说明
public String[] split(String regex)
Splits this string around matches of the given regular expr ession.
参数regex是一个 regular-expr ession的匹配模式而不是一个简单的String,他对一些特殊的字符可能会出现你预想不到的结果,比如测试下面的代码:
用竖线 | 分隔字符串,你将得不到预期的结果
String[] aa = "aaa|bbb|ccc".split("|");
//String[] aa = "aaa|bbb|ccc".split("\\|"); 这样才能得到正确的字符串结果
 
用竖 * 分隔字符串运行将抛出java.util.regex.PatternSyntaxException异常,用加号 + 也是如此。
String[] aa = "aaa*bbb*ccc".split("*");
//String[] aa = "aaa|bbb|ccc".split("\\*"); 这样才能得到正确的字符串结果
 
显然,+ * 不是有效的模式匹配规则表达式,用"\\*" "\\+"转义后即可得到正确的字符串结果。
"|" 分隔串时虽然能够执行,但是却不是预期的目的,得到的是每个字符的分割,而不是字符串,"\\|"转义后即可得到正确的字符串结果。
还有如果想在串中使用"\"字符,则也需要转义.首先要表达"aaaa\bbbb"这个串就应该用"aaaa\\bbbb",如果要分隔就应该这样才能得到正确结果:
String[] aa = "aaa\\bbb\\bccc".split(" \\\\");

注意当用"."分隔的时候, 要用"[.]" 进行分隔!
PINNACLE:PINN自适应配点与实验点选择算法 PINNACLE算法通过引入动态权重机制,实现了PINN训练点选择的自适应优化。该算法基于对训练过程中不同区域学习需求变化的深入理解,设计了平滑过渡的权重函数,确保了模型在不同训练阶段能够优先学习最需要的区域。理论分析和实验结果均表明,PINNACLE不仅能够保证收敛性,而且能够显著提高PINN的性能。这一算法为物理信息神经网络的应用提供了重要支持,尤其适用于复杂PDE问题的求解。 阅读详情

相关推荐

新版本大疆智图4.5 永久许可摄影测量建模软件

大疆智图支持常见格式的成果输出,包括 TIFF 正射影像和高程模型、LAS 格式点云,以及 B3DM、OSGB、OBJ 等六种常用格式的三维模型,还包括 DXF 和 SHP 等格式的等高线。大疆智图 DJI Terra是领先的三维重建软件,提供先进的技术和简单的操作,一站式解决方案,从航线规划到数据的获取,以及模型重建、数据分析等都提供独一无二的支持,优化项目工程,提供自动化优势,获得更有效智能的决策和行动,最终用户可以获得理想的结果,减轻工作压力,提高作业效率。质量报告和剖面查看功能有助于分析点云质量。

qq_62821232的博客 6877

Java分割字符串

java中按某个标识符分割字符串的方法如下: Scanner scanner = new Scanner(System.in); String source = scanner.next(); String[] sourceArray = source.split("/"); for (int i = 0; i < sourceArray.length; i++) { System.out.println(sour

m0_67402125的博客 1万+

【可信数据空间-部署方案】

此部署架构体现了以下几个核心原则:去中心化: 数据存储和处理完全分布在各个参与者端,运营方只提供核心的协调和信任基础设施。安全边界清晰: 通过VPC、DMZ、防火墙、K8s命名空间等技术,在每个层级都建立了严格的安全边界。高可用与弹性: 所有关键服务均以集群方式部署,避免单点故障,并能根据负载动态伸缩。云原生: 全面采用容器化和Kubernetes编排,简化部署、管理和运维复杂度。合规性: 架构设计天然满足数据驻留要求(数据留在企业本地),并为所有操作提供不可篡改的审计追踪能力。

u014716614的博客 770

Java如何实现字符串的分割

Java如何实现字符串的分割 前言 本章对Java如何实现字符串的分割,是基于jDK1.8版本中的String.split()方法。 本文篇幅较长,内容较为复杂涉及到许多小细节,都是我在使用时候以及查阅资料时候遇到的坑,建议反复观看!! 内容中含有对源码的解读,如果可以建议详细读懂源码,有助于对split的理解使用。 最后,长文警告,可按需观看!! 一、JDK-1.8-API文档说明(推荐阅读) 首先对java-JDK-1.8的文档进行解读,以下是我从文档中截取的两张图片,分别是关于split单参数方法

weixin_45073983的博客 7069

解决fetch_california_housing数据集403错误的3种实用方法(附手动下载地址)

本文针对机器学习中常见的fetch_california_housing数据集403 Forbidden错误,提供了三种实用的解决方案。从理解HTTP 403错误的根源出发,详细介绍了修改源码路径、使用国内镜像源以及手动下载并配置数据文件这三种方法,并附带了可靠的手动下载地址,帮助开发者彻底解决数据加载障碍,确保机器学习项目顺利进行。

weixin_29062963的博客 558

opencv实现“找茬”

// 111.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include #include #include using namespace std; #define CVX_RED CV_RGB(0xff,0x00,0x00) #define CVX_BLUE CV_RGB(0x00,0x00,0xff)//定义宏,轮廓边框颜色 in

yanHa007的专栏 2094

Java字符串分割的三种方法

Java中分解字符串

Che_Cars的博客 7万+

如何理解界面陷阱电荷呢(interface trapped charge)和费米钉扎效应?

如何理解界面陷阱电荷呢?(interface trapped charge) 我们在学半导体物理的时候经常对各种界面态和陷阱分不清楚,然而这却是半导体中最为关键的知识点之一。我这路主要介绍一下如何比较直观地理解界面陷阱电荷,应该也有叫界面态,快态之类的。 在介绍界面陷阱电荷之前,我们可以回顾一下施主(donor)和受主(acceptor)的概念。在si中如果掺杂了n型杂质P,那么P由于最外层电子有5个,有一个电子比较容易跑走,成为自由移动的导电电子,在能带中可以表现为电子从禁带中的能级跃迁到导带,这种情况我

Wang_P_P的博客 3万+

Java 实例 - 字符串分割

Java实例大全 字符串分割,split与StringTokenizer @Test public void StringSplit(){ String str = "hello,this is a test"; for(String s:str.split("el")){ System.out.printl...

辰小白 2421

openlayers:实现在连续更改时间维度时如何平滑地重新加载层 (附完整源码)

openlayers:实现在连续更改时间维度时如何平滑地重新加载层 (附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 345

LSTM 双向 Bi-LSTM

LSTM 双向 Bi-LSTM

jacke121的专栏 1515

【Java字符串分割[split()]和截取[substring()]】

最近写代码时遇到自字符串分割和截取的问题,在此总结一下。 字符串的分割: 一般自字符串的分割常用的方法是java.lang包中的String.split()方法,返回是一个字符串数组。 语法: public String[] split(String regex, int limit) 参数: regex-- 正则表达式分隔符。 limit-- 分割的份数。 ...

qq_40660893的博客 7万+

[QMT量化交易小白入门]-七、可转债双低策略Python代码详解与实战

本专栏主要是介绍QMT的基础用法,常见函数,写策略的方法,也会分享一些量化交易的思路,大概会写100篇左右。QMT的相关资料较少,在使用过程中不断的摸索,遇到了一些问题,记录下来和大家一起沟通,共同进步,自己淋过雨了,希望大家都有一把伞。

木头大左的博客 3830

字符串分割 java

我整理的一些关于【Java,字符串】的项目学习资料(附讲解~~)和大家一起分享、学习一下:https://d.51cto.com/bLN8S1学习字符串分割在Java中的实现 在开发中,我们常常需要对字符串进行分割操作,以便提取其中的有用信息。在Java中,字符串分割主要通过String类的split方法来完成。本文将详...

weixin_33274610的博客 281

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

JAVA 以逗号隔开的字符串怎么分割出来?

分割有逗号的字符串String string = “1,2,3,4,5,”。每个字符后面都有一个英文状态的逗号。 //数据源 String string = "1,2,3,4,5,"; //长度5 下标从0开始 到4 String substring = string.substring(0, string.length() - 1); //以逗号分割,得出的数据存到 result 里面 String[] result = substring.split(","); for (String r : r

u011271164的博客 1万+

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

java字符串分割

在Java中,字符串分割的方法有很多,常用的有split方法、类和Pattern类。选择哪种方法取决于具体需求和分割的复杂程度。split方法是最常用且功能强大的方法,适用于大多数分割需求;类适用于简单的分割需求;Pattern类适用于复杂的正则表达式分割需求。

qq_27390023的博客 2082

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

java 中分割字符串

// java 中分割字符串, String sourceStr = "1,2,3,4,5"; String[] sourceStrArray = sourceStr.split(","); for (int i = 0; i < sourceStrArray.length; i++) { .

紫微星的博客 405

java特殊字符分隔字符串_Java 根据一些特殊分割规则分割字符串

例如:设计根据一些特殊分割规则,来分割字符串。QQ:123456789当时没怎么考虑那么多情况,直接使用了String的split方法来进行分割。分割字符串 str.split(regex[分割字符串的标识符]),如果字符串中没有统一的分割符,可以用“|”来定义多个分割符。public class WordsSplit {public static void main(String[] args)...

weixin_42469191的博客 3008

java中以数字分割字符串

字符串相关学习资料:https://edu.51cto.com/video/3832.htmlhttps://edu.51cto.com/video/4055.htmlJava中以数字分割字符串的实现方法 作为一名经验丰富的开发者,我很高兴能够指导刚入行的小白如何实现Java中以数字分割字符串的功能。下面我将通过一个详...

weixin_40918960的博客 306

如何在Java中分割字符串

我有一个字符串"004-034556" ,我想分成两个字符串: string1="004"; string2="034556"; 这意味着第一个字符串将包含'-'之前的字符,第二个字符串将

p15097962069的博客 1394

Java字符串用换行符分割

Java字符串用换行符分割 在Java编程中,有时我们需要对一个字符串进行分割,以获取其中的各个部分。其中一种常见的需求是根据换行符对字符串进行分割。本文将介绍如何在Java中使用换行符对字符串进行分割,并提供代码示例。 使用换行符对字符串进行分割 在Java中,可以使用split()方法和正则表达式来实现根据换行符对字符...

weixin_37087535的博客 1004

Java 分割字符串

对于一个字符串我们如何将它分割的呢,分割成不同的几个单独个体。 我们可以使用split(string)方法通过指定的分隔符将字符串分割为数组。 完整代码 public class JavaStringSplitEmp { public static void main(String args[]){ String str = "www-baidu-com"; ...

weixin_45743799的博客 278

Java分割字符串的方法

分割字符串的方法: public String[] split(String regex);按照参数的规则,将字符串切分为若干部分 注意事项: split方法的参数其实是一个“正则表达式” 如果按照英文句点来进行切分,必须使用\.(反斜杠) package day08; class Demo05StringSplit { public static void main(String[] args...

IT小白的博客 3205

java里怎么分割字符串_Java中如何分割字符串string

一、概述我有一个字符串,"004-034556"我想分成两个字符串:string1="004";string2="034556";这意味着第一个字符串将包含之前的字符'-',第二个字符串将包含之后的字符'-'。我还想检查字符串是否包含'-'在其中。如果没有,我将抛出异常。我怎样才能做到这一点?二、详解只需使用适当的方法即可:String#split()。String string = "004-0...

weixin_35626107的博客 1612

Java学习,字符串分割

System.out.println("------java for each循环输出的方法-----");// 指定分割字符, . 号需要转义。------java for each循环输出的方法-----方法根据指定的正则表达式,将字符串分割成一个字符串数组。// 遍历分割后的字符串数组并打印每个元素。// 使用逗号作为分隔符来分割字符串。Java 字符串分割,是一个常见的操作,通常使用。// 原始字符串,使用逗号分隔。// 普通 for 循环。

五味香的专栏 778
上一篇: Android实现ListView异步加载图片总结
下一篇: String(+) vs StringBuffer(append)
superjunjin
博客等级 码龄17年 600粉丝 133原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值