首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Java——String类常用方法总结,看这一篇就够啦(比较、查找、截取、替换、拆分、其他)

) 普通 从指定索引位置开始检索子字符串位置,找不到就返回-1 4 public int lastIndexOf(String str) 普通 从后向前查找指定字符串,找不到返回-1 5 public...prefix) 普通 判断是否以某个字符串开头 7 public boolean startsWith(String prefix, int toffset) 普通 从指定位置判断是否以某个字符串开头...8 public boolean endsWith(String suffix) 普通 是否以某个字符串结尾 要查找中间的内容,基本都是使用contains()方法,但是它只能查找,不能判断位置,JDK1.5...5、字符串截取 将完整字符串 截取子字符串,方法如下: 序号 方法名称 类型 描述 1 public String substring(int beginIndex) 普通 从指定索引位置(包含该位置的字符...将完整字符串根据指定内容进行拆分,拆分后的结果为字符串数组,方法如下: 序号 方法名称 类型 描述 1 public String[] split(String regex) 普通 全部拆分 2 public

4.9K40

【面经1】算法工程师实习校招面经 (上篇)

很多人在知乎提到过,为什么不直接给出候选答案,第一,篇幅原因,可能某个小节的知识点都足够另写一篇文章;第二,阅读者习惯,据我了解,大部分人遇到给出答案的内容,简单看一下就过去了,实际只是了解参考答案,并没有认真去熟悉相关的工作...所以此文只是简单给出问题描述,不会详细解答。后续有时间,可以针对重要的知识点详细介绍。 二、深度学习基础 这部分基础知识基本顺着简历上的东西逐步提问。...,n步,可以左或者右,问 有没有到不了的位置:没有,因为左x右x+1,每次走一步,可以到达所有位置 到指定位置m,至少需要多少步:先求最接近m的连续和,然后从里面选两个数作差 n个门,1个后门是车,其余...n-1个后门是羊,你先选一个,如果面试官告诉你其余n-1个中某个是羊,你会重新选择么(假设n为3) 你先选一个,概率1/n; 面试官告诉你某个不是,你在剩余中选的概率为两部分:(1)你选的那个是,则概率...5.1 x的n次方(x任意,n自然数) 5.2 链表排序(不能动指针) 5.3 螺旋打印二维数组 5.4 删除字符 给定一个字符串和一个数字,删除指定数字个数的字符,并保证删除 给定字符串和数字 abcdabcd

78430
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    求求你了,不要再自己实现这些逻辑了,开源工具类不香吗?

    其他编程老司机如果还有其他好用的工具类,欢迎评论区分享。 下文主要分享这几个方向的常用工具类: ? 点赞再看,养成习惯,微信搜索『程序通事』,关注就完事了。...判断字符串是否为空 判断字符串是否为空,想必每个人应该都写过吧: if (null == str || str.isEmpty()) { } 虽然这段代码非常简单,但是说实话,小黑哥以前还是在这里犯过空指针的异常的...有字符串拼接,就会有拆分字符串的需求,同样的 StringUtils 也有拆分字符串的方法。...如果依然使用的是 Date 类型,如果需要使用新的时间类型,我们需要进行相关转化。两者之间进行转化, 稍微复杂一点,我们需要显示指定当前时区。...计时 编程中有时需要统计代码的的执行耗时,当然执行代码非常简单,结束时间与开始时间相减即可。

    94530

    Python从0到100(九):Python字符串介绍及使用

    ,我们也可以用[]和[:]运算符从字符串取出某个字符或某些字符。...(不理解先跳过),简单的说就是两个变量是否对应内存中的同一个字符串。...所谓方法其实就是跟某个类型的变量绑定的函数,后面我们讲面向对象编程的时候还会对这一概念详加说明。1.大小写相关操作下面的代码演示了和字符串大小写变换相关的方法。...()) 2.查找操作如果想在一个字符串中从前向后查找有没有另外一个字符串,可以使用字符串的find或index方法。...,split方法默认使用空格进行拆分,我们也可以指定其他的字符来拆分字符串,而且还可以指定最大拆分次数来控制拆分的效果,代码如下所示。

    15410

    计算机小白的成长历程——分支与循环(6)

    大家好,很高兴又和各位见面了,在上一篇内容结尾有两道题目不知道大家有没有自己去尝试编写代码,今天咱们通过几道题目开始今天的内容。 练习题 1.在一个有序数组中查找具体的某个数字n。...这个问题很关键,二分法在我看来就是一种通过平均分来达到快速缩小范围的一种方法,举个例子:现在有一组数字1~10,我现在要想找到7在哪里,正常情况下我们是不是应该从头开始,或者从尾开始找,但是二分法呢它确实从中间开始...; } return 0; } 这个代码的逻辑很简单,我先把数组总的元素总个数确定下来,对应的元素最大的下标就是总个数减一(因为数组的下标是从0开始排序),然后在从第一个元素开始查找也就是下标为0的元素...: 这里我们可以看到,这两种方法都是可以的,而且也比较简单,容易理解,但是下面我要介绍的二分法,和这两种方法的逻辑是不相同的,它们之间的不同之处就在于,一个是在整个范围中挨个审查,判断是否相等,而二分法则是取整个范围中的中间值来判断是否相等...结语 今天的内容到这里就结束了,通过这三个题目,我们学到的知识点还是挺多的,有二分法、有使字符从两端向中间移动的方法,有Sleep函数,有屏幕清除指令,有字符串比较函数strcmp……希望今天的内容对大家在理解运用这些知识点上能有帮助

    15830

    Python读书笔记5(字符串相关应用)

    三、获取字符串的某个字符 Str字型本身就是由多个单独的文本、数字、字符构成,所以我们某些场景需要提取字符串的某一个部分。...python的字串列表有2种取值顺序: 从左到右索引默认0开始的,最大范围是字符串长度少1 从右到左索引默认-1开始的,最大范围是字符串开头 表达方式就是利用中括号括起来!...字符串提取的时候有一个很重要的一句话是左闭右开 比如word 定义为"ILoveU",我们提取word[2:4] 左面2是闭区间,因为从0开始计数,所以2代表第三个字符,右面的4是开区间,代表不包括第五个字符...方法一:拆分重组法 方法二:replace大法 replace默认接两个参数("旧文本","要替换的新文本") 当不输入第三个参数的时候,默认全部替换所有的旧文本。...九、字符串的拆分与合并 我们有个url="bbs.byr.cn",我们将这个字符串拆分成列表。 列表类型后续会分享到,在目前可以简单的理解将一个字符串拆分成多个字符串!

    1.2K50

    细数Java项目中用过的配置文件(ini 篇)

    在自研框架或者业务项目开发中,往往会配置一些项目启动时要初始化的一些参数信息,例如端口、域名等等。从老项目中截取一段,其实就配置键值对而已,很简单,有没有? ?...老土方法:用手指头想出来的简单方法,往文件上插一根管子,一行一行去读,再按照等号拆分键值对,最后把键值对向 Map 放一下,必然也能达到解析的目的(脑补代码,代码懒得写啦)。...下面的内容直接拼接在一起形成字符串,而此时,并没有拆分键值对。...如上图源码标注 1,定义了一个 Map 用于保存配置的键值对信息;代码标注 2,是把上一步的字符串转换成 Map,具体转换如下图所示,按照等号进行拆分键值对,并放到 Map中。 ?...好了,剖析的差多了,从源码去看反而感觉复杂了不少,其实际使用超级之简单,和咱们用手指头想的老土方法差不多,只是 Shiro 封装的稍微好一些。

    94910

    Leetcode No.140 单词拆分 II(DFS)

    但是这道题如果使用自底向上的动态规划的方法进行拆分,则无法事先判断拆分的可行性,在不能拆分的情况下会超时。...方法:记忆化搜索 对于字符串 s,如果某个前缀是单词列表中的单词,则拆分出该单词,然后对 s 的剩余部分继续拆分。如果可以将整个字符串 s拆分成单词列表中的单词,则得到一个句子。...具体做法是,使用哈希表存储字符串 s 的每个下标和从该下标开始的部分可以组成的句子列表,在回溯过程中如果遇到已经访问过的下标,则可以直接从哈希表得到结果,而不需要重复计算。...如果到某个下标发现无法匹配,则哈希表中该下标对应的是空列表,因此可以对不能拆分的情况进行剪枝优化。...s 的每个下标和从该下标开始的部分可以组成的句子列表 Map>> map = new HashMap<Integer, List<

    57820

    webpack性能优化(2):splitChunks用法详解

    有三种常用的代码分离方法:入口点:使用entry配置手动分割代码。这种方法存在一些缺陷如果入口 chunks 之间包含重复的模块,那些重复模块都会被引入到各个 bundle 中。...简单来讲,假如 minChunks 设置为 n,那么某个 module 想要被拆分出去,那么它的共享次数(或者说并行请求次数必须 >= n):minChunks设置为n假设有m个入口点,这m个入口点都直接引入了某个模块...,入口点中import了一个模块,并打印了某些字符串,我们就叫它modulemodule被单独拆分成一个bundle,并且这个bundle文件中也包含了打印字符串的部分我们注意到拆分出来的那个 bundle...包含了打印字符串的部分,那么如果入口点中仅仅包含了打印字符串的部分,没有引入 module,结果是怎样呢,结果就是打印的那部分代码被单独拆分出来了。...缓存组cacheGroups其实是splitChunks里面最核心的配置,一开始我还认为cacheGroups是可有可无的,这是完全错误的,splitChunks就是根据cacheGroups去拆分模块的

    2K42

    HTML5-类库系列 类名的各种操作

    第一步 增加类名 addClass 增加类名应该说是这三种功能当中最简单的一个,类名是一个字符串,只需要使用字符串的连接就能够实现这个功能。...第二步 移除类名 removeClass 移除类名的功能函数就没有增加类名那么简单了~需要使用数组以及字符串等各种方法进行实现。当然也可以通过正则去实现。...关于正则的方法,在下面的替换类名部分我们再讲,这里我们重点讲字符串与数组的处理方法。...移除类名的基本原理是:首先我们将元素的类名进行拆分,将这种class="HTML5 lili test",一个元素多个类名的内容,根据空格进行拆分,拆分并放置于数组当中。...,包括我自己在进行操作的时候,一开始也没有注意存在的问题。

    1.4K50

    webpack性能优化(2):splitChunks用法详解

    有三种常用的代码分离方法:入口点:使用entry配置手动分割代码。这种方法存在一些缺陷如果入口 chunks 之间包含重复的模块,那些重复模块都会被引入到各个 bundle 中。...简单来讲,假如 minChunks 设置为 n,那么某个 module 想要被拆分出去,那么它的共享次数(或者说并行请求次数必须 >= n):minChunks设置为n假设有m个入口点,这m个入口点都直接引入了某个模块...,入口点中import了一个模块,并打印了某些字符串,我们就叫它modulemodule被单独拆分成一个bundle,并且这个bundle文件中也包含了打印字符串的部分我们注意到拆分出来的那个 bundle...包含了打印字符串的部分,那么如果入口点中仅仅包含了打印字符串的部分,没有引入 module,结果是怎样呢,结果就是打印的那部分代码被单独拆分出来了。...缓存组cacheGroups其实是splitChunks里面最核心的配置,一开始我还认为cacheGroups是可有可无的,这是完全错误的,splitChunks就是根据cacheGroups去拆分模块的

    1.7K20

    你就是个真正的javaer!

    'T'));//返回某个字符第一次出现的索引位置,从0开始 System.out.println(str.lastIndexOf('T'));//返回某个字符最后一次出现的索引位置,从0开始 System.out.println...(str.substring(1));//使用索引截取字符串,从左往右,索引从0开始算 System.out.println(str.substring(1,str.length()-1));//使用索引...1-索引2之间的字符串,索引从0开始算,顺序从左往右 System.out.println(str.replace("This", "There"));//使用某个字符串替换字符串,被替换的字符串再前...)拆分为多个字符串返回数组,使用时最好做非空判断 String[] strs=str.split(","); if (null!...index和数组下标一样从0开始。 java.util.Arrays类提供了一些操作数组的静态方法,比如排序、查找、复制。 ? 还有很多好玩的,就不一一说了,暂时嘛,够用就好。 ? ?

    37430

    python 字符串基础练习

    后台总是会有朋友问某个案例的源代码,某个问题解决或者怎么学习python等等。 之前还有一个朋友说基础感觉都很扎实了,但是就是不会做项目。还和他聊了一会。...学习新内容都是从常识出发,当常识解决不了问题了,就有了新的需求,新的技术。学习场景的构建还是很重要的,当碰到类似的问题,你可能就会想起来。直接学习方法开始看似效率高,但是提取难,最终导致效率低。...2.不会拆解问题 大的问题解决不了,很多就是不知道如何将大问题拆分成独立的小的问题。直到拆分成每个问题都有现成的方法解决为止。 3.练习的还是不够多,练习的方法也不是很好。...---- 最近我拆解了一些小案例,从实际案例中抽离出细小的知识点,当每一个知识点都学会之后,能不能做出一个完整的小项目呢?...比如以字符串为例: 下面是关于字符串的一些常用方法, 如果你觉得都会的话,可以到我找的开源系统搭建的 oj 网站上试一下。 完成之后,然后试试做一些小案例,看能不能完成。

    27430

    50个Pandas的奇淫技巧:向量化字符串,玩转文本处理

    那么,有没有办法,不用循环就能同时处理多个字符串呢,Pandas的向量化操作(vectorized string operation)就提供了这样的方法。...2.0 1 3.0 2 1.0 3 NaN dtype: float64 通过上面的例子,对向量化进行简单总结,向量化是一种同时操作整个数组而不是一次操作一个元素的方法,下面从看看具体怎么应用...二、向量化的字符串处理方法 Pandas的字符串属的方法几乎包括了大部分Python的内置字符串方法(内置共有45个方法),下面将列举一些常见的方法的用法,例如上面的count()方法将会返回某个字符的个数...lstrip() 等价于str.lstrip,截掉字符串左边的空格或指定字符 partition() 等价于str.partition,根据指定的分隔符(sep)将字符串进行分割,从左边开始 rpartition...() 等价于str.rpartition,根据指定的分隔符(sep)将字符串进行分割,从右边开始 lower() 等价于str.lower,所有大写字母转换为小写字母,仅限英文 casefold() 等价于

    6K60

    Python读书笔记5

    三、获取字符串的某个字符 Str字型本身就是由多个单独的文本、数字、字符构成,所以我们某些场景需要提取字符串的某一个部分。...python的字串列表有2种取值顺序: 从左到右索引默认0开始的,最大范围是字符串长度少1 从右到左索引默认-1开始的,最大范围是字符串开头 表达方式就是利用中括号括起来!...字符串提取的时候有一个很重要的一句话是左闭右开 比如word 定义为"ILoveU",我们提取word[2:4] 左面2是闭区间,因为从0开始计数,所以2代表第三个字符,右面的4是开区间,代表不包括第五个字符...方法一:拆分重组法 方法二:replace大法 replace默认接两个参数("旧文本","要替换的新文本") 当不输入第三个参数的时候,默认全部替换所有的旧文本。...九、字符串的拆分与合并 列表类型后续会分享到,在目前可以简单的理解将一个字符串拆分成多个字符串! 十、王牌应用,格式化字符串 为了更好地实现字符串的拼接,需要用到format方法。

    1.1K70

    js中的正则表达式(1)

    )找出来 用一种应用服务器动态的生成一个web网页以显示从某个数据库里检索出来的文本,在那些文本里可能包含着一些url地止字符串,你希望那些url地止最终生成的页面是可以点击的 ......pattern的开始位置 split(pattern):一个用来把一个字符串拆分为多个子串的String方法,返回字符串按指定的pattern拆分成的数组 模式修饰符i,g 绝大多数正则表达式引擎的默认行文只是返回第一个匹配的结果...):返回字符串中 pattern 开始位置 注意:search方法查找到即返回,会忽略g修饰符全局匹配,同时它也没有RegExp对象的lastIndex的属性,且总是从字符串开始位置进行查找,总是返回的是...,默认返回第一个,如果想要全局匹配替换,那么对正则使用修饰符g全局匹配,可达到全局匹配替换 使用split()方法拆分成字符串数组 使用方法:待匹配对象.split(正则规则确定是以什么样的格式将该字符串进行拆分...()进行准确的确定返回结果的具体类型 上述String与RegExp对象提供的方法语法很简单,但是真正在使用的时候,他们之间的组合就非常强大了,要想灵活运用,其实验证某个模式能不能获得预期的匹配结果不是那么困难

    4.5K40

    TRIE(2)

    用二维数组实现trie的好处是用起来非常方便,因为trie的insert和search操作都要经常判断一个节点有没有标识某个字符的边,以及边的终点是几号节点。...比如上图中实际上每个点只有0-2个子节点,但是我们给每个节点都开辟了一个大小是26的数组去存储子节点 第二种方法是像邻接表一样用vector来存储每个节点的子节点: vector有没有标识是某个字符ch的边时,都需要遍历一遍trie[i]这个vector,而不能像数组一样直接查找 第三种方法是用unordered_map unordered_map...Color[i]=1标识i号节点是终结点  第9~21行是插入函数insert(w),w是字符指针,实际上可以看作是一个字符串  第11行是p从0号节点开始。...第3行是从p=0也就是根节点开始。第4~8行是枚举s的每一个字符。第5行是计算当前字符s[i]在字符集的序号。

    61630

    java中String类学习

    ,而且“+”匹配的顺序是从左向右,如果两边连接的内容都是基本数字类型则按照加法运算,如果参与连接的内容有一个是字符串才按照字符串进行连接。...字符串比较 (7)split方法以特定的字符串作为间隔,拆分当前字符串的内容,一般拆分以后会获得一个字符串数组。...(11)toCharArray方法该方法的作用和getBytes方法类似,即将字符串转换为对应的char数组。 (12)startsWith判断是否以某个字符作为字符串的开始。...(13)endsWith判断是否以某个字符作为字符串的结尾 (14)indexOf方法,该方法的作用是查找特定字符或字符串在当前字符串中的起始位置,如果不存在则返回-1。...(15)trim:该方法的作用是去掉字符串开始和结尾的所有空格,然后形成一个新的字符串。该方法不去掉字符串中间的空格。

    75270
    领券