当前位置: 首页 > 面试题库 >

如何在不检查大小或超出范围的情况下获取字符串的前n个字符?

刘明朗
2023-03-14
问题内容

如何n在不先进行大小检查(内联是可以接受的)或冒冒号危险的情况下,获取Java中字符串的第一个字符IndexOutOfBoundsException


问题答案:

这是一个整洁的解决方案:

String upToNCharacters = s.substring(0, Math.min(s.length(), n));

意见:虽然此解决方案“精巧”,但我认为它实际上比使用/ 以明显方式使用/ 的解决方案 可读性 差。如果读者没有看到此技巧,则他/她必须 更加努力
地理解代码。IMO,代码的含义在/ 版本中更加明显。有关更清洁/更易读的解决方案,请参见@paxdiablo的答案。if``else
__if``else



 类似资料:
  • 我用了这段代码并运行,但没有输出出来不知道为什么? 但如果正在使用s=“”;则也没有输出。 但是当我使用s=“”;那么输出就来了,为什么会这样呢?

  • 问题内容: 如何在PHP中获取字符串的前n个字符?将字符串修剪为特定数量的字符并在需要时附加“ …”的最快方法是什么? 问题答案: 更新: 基于检查长度的建议(并确保修剪后的和未修剪的琴弦的长度相似): 因此,您将获得最多13个字符的字符串;13个(或更少)普通字符或10个字符,后跟“ …” 更新2: 或作为功能: 更新3: 自从我写了这个答案已经有一段时间了,我实际上不再使用此代码了。我更喜欢这

  • 问题内容: 我正在寻找Python中忽略大小写字符串的比较。 我尝试过: 但忽略案例没有成功。我需要在给定的文本文件中找到一组单词。我正在逐行读取文件。一行上的单词可以是 mandy , Mandy , MANDY 等(我不想使用/等)。 我正在寻找下面的Perl代码的Python等效项。 问题答案: 如果您不想使用,则可以使用正则表达式:

  • 问题内容: 因此,我正在编写一个简单的程序来输入字符串并计算总数。的米 所以,这是我的代码 where 和str是我接受过的字符串,但是此错误不断出现 这是什么错误以及如何将其删除? 问题答案: 字符串,有效索引从0到n-1; 更改 至

  • 问题内容: 我猜我正在收到此错误,因为字符串正在尝试对值进行子字符串化。但是那部分不能消除这个问题吗? 这是Java代码段: 我收到此错误: 问题答案: 我猜我正在收到此错误,因为字符串试图将Null值作为子字符串。但是“ .length()> 0”部分不能消除该问题吗? 不,在itemdescription为null时调用itemdescription.length()不会生成StringInd

  • 问题内容: 嗨,我编写了Java代码来查找由其他单词组成的最长单词。我的逻辑是从文本文件中读取单词列表,并将每个单词添加到一个数组中(在文本中,单词被排序,并且每行中只有一个单词)之后,我们检查数组中的每个元素是否具有其他元素作为子字符串。如果是这样,我们计算子字符串的数量。具有最大子串数的元素将是结果 当我给一个只有两个单词的文本文件时,代码正在运行。但是,当有两个以上的单词时,我将出现以下错误