当前位置: 首页 > 编程日记 > 正文

关于字符串的分割问题

1、如何快速的将一个字符串分割成一个个字符?

        Scanner sc=new Scanner(System.in);System.out.println("请输入一个字符串:");String str=sc.next();System.out.println("输入的字符串的长度为:"+str.length());char [] a=str.toCharArray();for (int i = 0; i < a.length; i++) {System.out.print(a[i]+"\t");}

2、接上面将字符串转为字节数组

        System.out.println();//将字符串转为字节数组byte[] b=str.getBytes();for (int i = 0; i < b.length; i++) {System.out.print(b[i]+"\t");}    

3、按照指定字符串对当前字符串进行拆分

        System.out.println();//按照指定字符串对当前字符串进行拆分String ss="床前明月光,疑是地上霜,举头望明月,低头思故乡";//按照,号拆分字符串为字符串数组String[] strs=ss.split(",");System.out.println("strs的数组长度为:"+strs.length);for (int i = 0; i < strs.length; i++) {System.out.println(strs[i]);}        

4、获取指定字符串的指定字符的index,及获取指定字符串的指定字符的最后出现的index;

        //获取当前字符串中指定字符或字符串的位置//获取hello中e的索引位置System.out.println("hello中e的索引位置为:"+("hello").indexOf("e"));//获取当前字符串中指定字符或字符串最后一次出现的索引位置//获取hello中l的最后一次出现的索引位置System.out.println("hello中l的最后的索引位置为:"+("hello").lastIndexOf("l"));

5、指定分割几个字符串;

        // 最多分割出3个字符串int maxSplit = 3;sourceStrArray = sourceStr.split(",", maxSplit);for (int i = 0; i < sourceStrArray.length; i++) {System.out.println(sourceStrArray[i]);
     }

6、split 的实现直接调用的 matcher 类的 split 的方法。在使用String.split方法分隔字符串时,分隔符如果用到一些特殊字符,可能会得不到我们预期的结果。在正则表达式中有特殊的含义的字符,我们使用的时候必须进行转义,示例:

(1)、字符"|","*","+"都得加上转义字符,前面加上"\\"。

        String value = "192.168.128.33";// 注意要加\\,要不出不来,yeahString[] names = value.split("\\.");for (int i = 0; i < names.length; i++) {System.out.println(names[i]);}

System.out.println();

         String sourceStr = "0\\1\\2";String[] sourceStrArray = sourceStr.split("\\\\");//按照\\来分割字符串for (int i = 0; i < sourceStrArray.length; i++) {System.out.print(sourceStrArray[i]+"\t");//结果是:0    1    2}

(2)、而如果是"\",那么就得写成"\\\\", 字符串中的\\就是一个\,但是字符串中要用\则必须是\\,所以要转成\\,就需要四个\;

        String sourceStr = "1,2,3";String replace = sourceStr.replace(",","\\\\");System.out.println(sourceStr);//结果是1,2,3System.out.println(replace);//结果是1\\2\\3

(3)、如果一个字符串中有多个分隔符,可以用"|"作为连字符。

比如:String str = "Java string-split#test",可以用Str.split(" |-|#")把每个字符串分开。这样就把字符串分成了3个子字符串。

        String str = "Java string-split#test";String[] split = str.split(" |-|#");for (int i = 0; i < split.length; i++) {System.out.print(split[i]+"\t");//结果是:Java  string  split   test
        }System.out.println();System.out.println("-------------");String str1 = "Java string-split#test*jsp";String[] split_plus = str1.split(" |-|#|\\*");//+、*、|、\等符号在正则表达示中有相应的不同意义,所以在使用时要进行转义处理,所以用\\*。for (int i = 0; i < split_plus.length; i++) {System.out.print(split_plus[i]+"\t");//结果是:Java  string  split   test    jsp}

转载于:https://www.cnblogs.com/YLQBL/p/6413205.html

相关文章:

java创建对象_java 创建对象的五种方式

通过 Class 对象的 getConstructor 可以获取 java.lang.reflect.Constructor 对象Constructor 对象用来描述类的构造方法&#xff0c;通过给 getConstructor 方法传入不同的 Class 对象&#xff0c;可以获取到对应的无参或有参数的构造方法通过 Constructor 的 newInstance 方法…

php拍照从手机相册中选择,微信js-sdk预览图片接口及从拍照或手机相册中选图接口用法示例...

本文实例讲述了微信js-sdk预览图片接口及从拍照或手机相册中选图接口用法。分享给大家供大家参考&#xff0c;具体如下&#xff1a;目前中js-sdk 1.0版本中&#xff0c;预览图片提供了2个接口&#xff0c;接口的定义参考官方文档1.预览网络图片http链接的2.预览本地图片wenxin:…

BZOJ 1124: [POI2008]枪战Maf(构造 + 贪心)

题意 有 \(n\) 个人&#xff0c;每个人手里有一把手枪。一开始所有人都选定一个人瞄准&#xff08;有可能瞄准自己&#xff09;。然后他们按某个顺序开枪&#xff0c;且任意时刻只有一个人开枪。 因此&#xff0c;对于不同的开枪顺序&#xff0c;最后死的人也不同。 问最后死的…

Maven跳过测试

Maven跳过测试用例 在properties中声明<properties><maven.test.skip>true</maven.test.skip> </properties> 或者 <properties><skipTests>true</skipTests> </properties> 在执行命令中声明mvn test -Dmaven.test.skiptrue …

Linux内核 题目,《Linux内核完全注释》部分习题答案

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼第3章 内核引导和启动过程2.为什么不直接将system模块搬到0x00000处而是先搬到0x10000处&#xff0c;再搬到0x00000处呢&#xff1f;在机器开机上电时&#xff0c;ROM BIOS将bootsect代码加载到内存的固定位置0x7c00处&#xff0c;…

java jdk 1.8 安装_下载、安装、配置 java jdk1.8

近期配置react native的开发环境&#xff0c;所以就从配置环境开始。rn的环境配置有那么几项&#xff0c;其中重要的一个就是java jdk(Java Development Kit 的缩写)&#xff0c;那么以下就是下载、安装还有配置的流程1.下载java jdk 1.8在地址栏输入 java jdk,如下图所示&…

liunx php redis扩展,CentOS 7下安装php-redis扩展及简单使用

前言&#xff1a;在本篇文章中&#xff0c;我将给大家介绍如何在CentOS7上安装PHP-Redis扩展以及一些简单的实用&#xff0c;关于如何在Centos上安装redis的&#xff0c;可以参考想要在php中操作redis&#xff0c;那就必须安装php-redis扩展&#xff0c;就比如MySQL一样&#x…

Luogu 2470 [SCOI2007]压缩

和Luogu 4302 [SCOI2003]字符串折叠 差不多的想法&#xff0c;区间dp 为了计算方便&#xff0c;我们可以假设区间[l, r]的前面放了一个M&#xff0c;设$f_{i, j, 0/1}$表示区间$[i, j]$中是否存在M 因为这题只能是二的幂次倍压缩&#xff0c;所以转移的时候枚举中点chk是否合法…

做图形处理Linux小型主机,8个优秀的linux图形图像工具

对艺术家、摄影师、动画师和设计师而言&#xff0c;Linux是一个有潜力的平台。廉价的硬件&#xff0c;优秀的免费软件&#xff0c;任何有才华的人都能在上面创作专业水平的计算机图形。开源社区提供了丰富的开源图形工具&#xff0c;但要慧眼识珠并非易事。这里介绍的优秀图形工…

使用laravel框架的eloquent\DB模型连接多个数据库

1、配置.env文件 DB_HOST_TRAILER127.0.0.1DB_PORT_TRAILER3306DB_DATABASE_TRAILERhtms_trailerDB_USERNAME_TRAILERrootDB_PASSWORD_TRAILER DB_HOST_FREIGHT127.0.0.1DB_PORT_FREIGHT3306DB_DATABASE_FREIGHThangli_saasDB_USERNAME_FREIGHTrootDB_PASSWORD_FREIGHT 2、配置…

java openfile busy_android java.io.IOException: open failed: EBUSY (Device or resource busy)

今天遇到一个奇怪的问题&#xff0c;测试在程序的下载界面&#xff0c;下载一个文件第一次下载成功&#xff0c;删除后再下载结果下载报错&#xff0c;程序&#xff1a;file.createNewFile();报错&#xff1a;java.io.IOException: open failed: EBUSY (Device or resource bus…

java service注入失败,使用spring向service里面注入dao不成功。

使用spring向service里面注入dao不成功。求救啊&#xff01;本帖最后由 PaperStar 于 2013-12-26 19:29:20 编辑页面调用action&#xff0c;action调用service&#xff0c;service调用dao用Debug查看action调用service方法时service有值&#xff0c;但是service调用dao时&#…

下面为初学者分享一下SQL 数据库学习资料

一、基础1、说明&#xff1a;创建数据库CREATE DATABASE database-name2、说明&#xff1a;删除数据库drop database dbname3、说明&#xff1a;备份sql server--- 创建 备份数据的 deviceUSE masterEXEC sp_addumpdevice disk, testBack, c:\mssql7backup\MyNwind_1.dat--- 开…

linux7设置时间,CentOS 7 设置日期和时间

现代操作系统分为以下两种类型的时钟&#xff1a;实时时钟(Real-Time Clock&#xff0c;RTC)&#xff0c;通常称为硬件时钟(一般是系统主板上的集成电路)&#xff0c;它完全独立于操作系统的当前状态&#xff0c;即使在计算机关闭时也能运行。系统时钟&#xff0c;也称为软件时…

SQLMap安装步骤

SQLMap是利用Python语言写的&#xff0c;所以需要将Python这个语言环境给安装上 &#xff1a; 1、首先下载Python(这里Python版本为2.7.2&#xff0c;可以下载不同或高版本的) 2、然后在下载sqlmap&#xff08;http://sqlmap.org&#xff09; 3、这两个软件下载完成后&#xff…

am5718_AM5718如何扩大内存 - Sitara™ Cortex-A8 和 ARM9 微处理器 - Sitara™ Cortex-A8 和 ARM9 微处理器 - E2E™ 中文支持论坛...

谢谢了Shine,你的资料和建议非常到位&#xff0c;按您的建议&#xff0c;修改了board.c以下两处&#xff0c;问题解决了。1&#xff1a;board/ti/am57xx/board.c文件static const struct dmm_lisa_map_regs am571x_idk_lisa_regs {.dmm_lisa_map_3 0x80640100,.is_ma_present…

亚马逊刊登php代码,最全的亚马逊刊登listing工具了解一下

如果你是亚马逊FBA卖家&#xff0c;那么你可能会错过很多有用的亚马逊listing工具。这些listing工具可以批量上传listing&#xff0c;同时还可以记录产品特征&#xff0c;以及打印运输标签。1、易仓刊登系统易仓刊登系统是一款易仓基于已有ERP客户需求研发的一套平台产品刊登系…

linux重命名tar命令,linux常用操作指令4 —— 文件操作相关命令(mkdir、touch、rm、mv、cp、cat 、 find 、tar、chmod)...

文件操作相关命令文件操作相关命令1、创建文件夹mkdir2、创建文件touch3、移动文件夹mv(类似于剪切)4、删除rm5、重命名mv6、复制cp7、查看文件(cat、head、tail..)8、查找文件 find (重要)9、归档压缩tar10、修改文件权限chmod参考文件操作相关命令1、创建文件夹mkdir# mkdir …

后台生成小程序码

工作需要&#xff0c;根据动态参数生成小程序二维码。 找了下开发API &#xff1a;https://developers.weixin.qq.com/miniprogram/dev/api/qrcode.html 选择了B接口&#xff0c;可以无限生成&#xff0c;只是参数有点限制&#xff0c;但是可以满足需求&#xff0c;开搞。 一、…

2017-02-20 注册.Net Framework4.0

在使用IIS发布Web应用程序时&#xff0c;有时会遇到Asp.Net 4.0尚未在Web服务器上注册的问题&#xff0c;需要手动注册下.Net Framework 4.0。 注册.net Framwork4.0 步骤&#xff0c;以windows7系统为例&#xff0c;注册 步骤如下&#xff1a; 64位操作系统&#xff1a; 1. …

java字符存储,在什么编码是Java字符存储在?

Is the Java char type guaranteed to be stored in any particular encoding?Edit: I phrased this question incorrectly. What I meant to ask is are char literals guaranteed to use any particular encoding?解决方案"Stored" where? All Strings in Java …

matlab 仿真步长,MATLAB Simulink变步长仿真与固定步长仿真简单对比

今天晚上翻了一下资料发现&#xff0c;关于变步长以及固定步长仿真的理解我之前是由错误理解的。当时没有做什么认真的思考活着尝试就自己给自己下了一个结论&#xff1a;变步长仿真会比较精确&#xff0c;但是可能会消耗更多的计算机资源&#xff01;错&#xff01;大错特错&a…

JS设计模式(13)状态模式

什么是状态模式&#xff1f; 定义&#xff1a;将事物内部的每个状态分别封装成类&#xff0c;内部状态改变会产生不同行为。 主要解决&#xff1a;对象的行为依赖于它的状态&#xff08;属性&#xff09;&#xff0c;并且可以根据它的状态改变而改变它的相关行为。 何时使用&am…

【转】Mac 程序员的十种武器

http://chijianqiang.baijia.baidu.com/article/3733 上 在写 Mac 程序员的十个武器之前&#xff0c;我决定先讲一个故事&#xff0c;关于 Mac 和爱情的。&#xff08;你们不是问 Mac 和爱情有个鸟关系吗&#xff1f;&#xff09; 从前有一个孩子叫做小明&#xff0c;他不是高帅…

git ignore linux,为什么说.gitignore不能忽视

我注意到很多开发者没有使用 .gitignore 文件&#xff0c;尽管使用 .gitignore 文件来指定你不希望 Git 在版本控制中跟踪的文件是最佳实践之一。.gitignore 可以提高代码质量&#xff0c;所以你不应该忽略版本库中的 .gitignore。什么是 .gitignore?Git 仓库中的文件可以是&a…

java arcengine_在Java程序中调用ArcEngine

ArcEngine一般在C#中用的比较多&#xff0c;不过esri也是为Java提供了AE的类库的&#xff0c;不过文档确实没做的C#那么好。下面我记录一下如何在项目中配置使用AE的环境。第一步&#xff1a;将arcobject.jar包加到build path下&#xff1b;第二步&#xff1a;要使用AE&#xf…

matlab 实例均命名为,MATLAB复习题

第一章MATLAB 概述1、标点符号( &#xff1b; )可使命令行不显示运算结果&#xff0c;( % )用来表示该行是注释行。(常用标点符号的功能见P9)2、用“format”命令设置数据输出形式&#xff0c;(format long )将pi 显示为3.14159265358979&#xff0c;(format short e )将pi 显示…

爬虫之Scrapy

Scrapy初步 Scrapy基于Twisted设计实现&#xff0c;Twisted的特殊特性是以事件驱动&#xff0c;并且对于异步的支持性很好&#xff0c;集成了高性能的异步下载&#xff0c;队列&#xff0c;分布式&#xff0c;持久化等。 Scrapy的安装 在Linux中可以直接在命令行中输入&#xf…

java 8 lambda reduce_JDK8新特性Lambda表达式体验

“Lambda 表达式”(lambda expression)是一个匿名函数&#xff0c;Lambda表达式基于数学中的λ演算得名&#xff0c;直接对应于其中的lambda抽象(lambda abstraction)&#xff0c;是一个匿名函数&#xff0c;即没有函数名的函数。Java 8的一个大亮点是引入Lambda表达式&#xf…

php display_errors

// 检测开发环境public function setReporting(){if (APP_DEBUG true) {error_reporting(E_ALL);ini_set(display_errors,On);} else {error_reporting(E_ALL);ini_set(display_errors,Off);ini_set(log_errors, On);ini_set(error_log, RUNTIME_PATH. logs/error.log);}} 在p…