如果标题不清楚,我深表歉意。
现在,在字符串中,索引从0开始。因此,例如:
Index 0 1 2 3 4
String H E L L O
在这种情况下,最后一个索引是4。
如果我想做这样的事情:
System.out.println("hello".charAt(5));
它将抛出“超出范围的索引异常”,这是应该的。
但是,如果我尝试运行以下代码:
System.out.println("hello".substring(5));
它运行!我编写了类似的代码,后来注意到了这一点,无法解决。
最终,问题是我们怎么可能不应该达到这个指标呢?它使我们可以编写:
stringObj.substring(stringObj.length());
而且它看起来不是很安全,因为stringObj.length()向我们返回一个比最后一个索引大一个整数的整数。
它是故意制作的,是否有目的?如果是的话,这个目的是什么?它带来的好处是什么?
substring
当您想到这样的索引时,使用起来会更容易(例如,字母 位于 索引 之间 )
H E L L O
0 1 2 3 4 5 <- acceptable range of indexes for "HELLO"
^ ^
| |
start end = length
(min index) (max index)
当您从start
到子字符串时,end
您只能在这些索引之间获得字符。
因此,在"HELLO".substring(2,4)
您参与的情况下
L L
2 3 4
返回"LL"
。
现在,在这种情况下,substring(5)
它的作用与substring(5,length)
在此情况下的意思相同substring(5,5)
。如此以来,5
指数
存在 于我们的“模式”为可接受值,并且因为有之间没有字符5
和5
我们越来越空字符串作为结果。
substring(0,0)
substring(1,1)
只要我们的模型可以接受索引,就发生类似情况。
StringIndexOutOfBoundsException
仅当我们尝试访问不可接受的索引时才会发生,这意味着:
-1
,-2
,…length
。在这里:6
7
,…问题内容: 我曾经在JavaScript中这样做: Swift没有此功能,如何做类似的事情? 问题答案: 编辑/更新: Xcode 11•Swift 5.1或更高版本 用法: 不区分大小写的样本 正则表达式样本
问题内容: 我刚刚发现,根据我们执行最多的查询,当前的数据库设计效率有些低下。IBAN是根据国家/地区特定格式的位置坐标。 由于我们主要在某些表中的IBAN列的精确子字符串上执行s和s,因此我的问题是将索引分配给列的子字符串 我们是否被迫向表中添加冗余和索引列?IE。添加列,,,,,(其中IT_字段只考虑在开始ITXX帐户)每一个与适当的二级索引 或 是否有任何特殊的二级索引的,可以仅在一列的子串
问题内容: 我有: 功能: 和一个字符串:, 我本质上是想输入并返回,但是我却不断地返回。 码: 不知道怎么了! 问题答案: 理想情况下,您会 像痴呆的刺猬说的那样 使用 str.find 或 str.index 。但是你说你不能… 您的问题是您的代码仅搜索搜索字符串的第一个字符(第一个字符在索引2)。 您基本上是说if是in ,递增直到我测试它返回3时,但这仍然是错误的。这是一种方法。 它产生了
我在这里检查了许多类似的问题,这些问题的答案对我来说似乎不是一个有效的解决方案。我正在将格式化的文件读入字符串。我需要找到的索引来打印其内容(),稍后在代码中我需要打印()的内容等等。 到目前为止,我已经尝试过: <代码>字符串。索引(子串)-Xcode错误: 无法将“String”类型的值转换为预期的参数类型“Character” <代码>字符串。firstIndex(共:子串)-Xcode错误
背景我有一个小索引与一些字符串字段(例如名称,街道,城市,电子邮件)。 和类似于 Lorem ipsum dolor sit amet,consectetuer adipiscing Elit。埃尼·康茂多·利古拉·埃盖特·多洛。埃尼安·马萨。同时也是一个社会成员,即natoque penatibus et magnis dis matraft montes,nascetur loomus mus
问题内容: 我想在给定的输入string中找到某个子字符串最后一次出现的位置(或索引)。 例如,假设输入字符串为,子字符串为,则应输出3。 我怎样才能做到这一点? 问题答案: 用途: 另外,请勿将其用作变量名,否则将使内置的阴影变暗。