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

Java -从字符串中最后一个字符出现的倒数第二个位置获取子字符串

Java中可以使用字符串的substring()方法来获取子字符串。该方法接受两个参数,分别是起始索引和结束索引(不包含在内)。为了从字符串中获取最后一个字符出现的倒数第二个位置的子字符串,可以先使用lastIndexOf()方法找到最后一个字符的索引,然后再减去2得到倒数第二个位置的索引。最后,将这个索引作为substring()方法的起始索引参数传入即可。

下面是一个示例代码:

代码语言:txt
复制
String str = "Hello World!";
int lastIndex = str.lastIndexOf(str.charAt(str.length() - 1));
int secondLastIndex = str.lastIndexOf(str.charAt(str.length() - 1), lastIndex - 1);
String subStr = str.substring(secondLastIndex, lastIndex);
System.out.println(subStr);

输出结果为:

代码语言:txt
复制
ld

这里使用了lastIndexOf()方法来找到最后一个字符的索引,然后再减去2得到倒数第二个位置的索引。最后,使用substring()方法获取从倒数第二个位置到最后一个字符的子字符串。

推荐的腾讯云相关产品:腾讯云云服务器(CVM),产品介绍链接地址:https://cloud.tencent.com/product/cvm

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

VBA代码库08:获取字符串中指定位置字符串

ExtractString函数可以根据一个或多个分隔符,取出字符串由这些分隔符分开指定位置字符串。...(strIn, _ strDelimiter, Left$(strDelimiter, 1)) End If '循环,获取字符串位置 Do While iLoop...使用了《VBA代码库07.功能强大字符替换函数》介绍TranslateString函数,将字符串分隔符全部替换为分隔符列表一个分隔符。...,找到指定位置字符串字符串开始位置(之前分隔符位置,即变量iLastPos值)和结束位置(之后分隔符位置,即变量iPos值)。...应用示例 示例1:获取字符串多个子字符串 下面的代码提取字符串水果名称: Sub test() Dim i As Integer Dim strSubText As String

3.2K10

用于字符串删除最后一个指定字符 Python 程序

文本数据操作和处理可以使用 Python 程序受益,该程序将从字符串消除最后一个指定字符。...在 Python ,我们有一些字符串内置函数,如 rstrip(),可以字符串删除最后一个指定字符。切片技术是末尾删除字符更简单方法。...现在我们使用 for 循环并执行以下操作 &miinus; len(inp_str)-1 − 循环范围0千索引并迭代到倒数第二个字符,因为 -1。最后,我们在变量帮助下打印变量。...然后使用名为 rstrip() 内置函数删除字符串最后一个字符,并将其存储在变量 trim_last_char 最后,借助变量trim_last_char打印结果。...然后初始化变量mod_str,通过删除最后一个字符来存储值。is_str[:-1]:-1 表示反向模式下字符串,“:”末尾切一个字符最后,我们在变量mod_str帮助下打印变量。

31710

后端 | Java 利用substring()和indexOf()字符串获取指定字符

9之间字符(不包含9) * str.indexOf("/"); -->返回str“/”第一次出现下标 * str.indexOf("/", 5); -->返回跳过...str前6个字符后,“/”第一次出现下标。...,我们要从str取出name->Riven String riven = str.substring(4, 9); // 这里传入R下标4,再传入第二个“/”下标9,拿到就是Riven...本身下标 // 首先,我们先拿到第一个“/”下标 int i = str.indexOf("/"); // 然后我们拿到第二个“/”下标,前两个“/...”之间数据就是我们name字段了 // indexOf()可以传两个参数,第一个是要寻找字符串第二个哪个下标位置开始寻找,这里传入i+1就是跳过了第一个“/”之前下标

3K40

【已解决】怎么获取字符串相同字符串第N 个所在位置

问题描述 给一个配置字符串例如 NSString *string = @"34563879-+4561346573"; 现在我想获取字符串第3个字符串3所在位置。...对于我们经常用rangeOfString这个方法只能获取最近一次出现位置,而不能指定第几个出现位置。 查看关于 NSString里面其他不经常用到 API,还真找到一个相似的方法。...NSCaseInsensitiveSearch = 1, //不区分大小写比较 NSLiteralSearch = 2, //逐字节比较 区分大小写 NSBackwardsSearch = 4, //字符串末尾开始搜索...NSAnchoredSearch = 8, //搜索限制范围字符串 NSNumericSearch = 64, //按照字符串数字为依据,算出顺序。...使用通用兼容比较方法,如果设置此项,可以去掉 NSCaseInsensitiveSearch 和 NSAnchoredSearch }; rangeOfReceiverToSearch 需要搜索在源字符串所在范围

2.4K20

【JavaScript】内置对象 - 字符串对象 ③ ( 字符串常用方法 | 查找字符串串第一次出现位置 - indexOf | 代码示例 )

字符串 有 " 不可变性 " , 因此 , 所有 涉及 字符串 方法 , 都不会改变 被操作 字符串本身 , 而是 申请新内存空间 , 创建新字符串 替换原来字符串 , 原来字符串仍然保持不变...; 2、查找字符串串第一次出现位置 - indexOf 调用 String 对象 indexOf 方法 , 可以查找 字符串 指定 字符串 第一次出现位置索引 ; indexOf 函数语法如下...在 大于 或 等于 position 位置 查找 字符串 , 默认值是 0 ; 返回值 : 返回 查找到 searchString 字符串第一次出现索引 , 如果没有查找到指定字符串 , 则返回...- 指定起始查找范围 如果设置 查找起始索引 , 索引 5 开始查找 字符串 ‘o’ , 得到结果是 7 ; // 创建字符串 var str = 'Hello...给定一个字符串 ‘Hello World’ , 查找该字符串中国年字母 o 出现次数 , 以及出现索引 ; 使用 indexOf 方法找到第一个 o 字符位置 ; 如果没有找到字符 o , 则返回

3600

Java练习—-》求字符串最长回文

(^U^)ノ~YO 一,题目 求一串字符串最长回文串,这里以cabacabae为例 二,思路图形解析 第一步:观察这串字符串—》 第二步:找出最长回文串,并设数—》 说明...注意:上面图中resCenter痕迹和j痕迹是一致,我这样比较好看出来两者对称关系。所以,这里设出来所有参数每次移动位置只有一个,j只是我画比较好理解,,不要理解错了哈!...嘻嘻~~ 你也可以理解为一根绳子,找到对称点,阶段之后,再找对称点,对称点(每一点都可以理解为对称点)开始,对比对称点前后是否是一样,一样则继续,遇到粗细不一样就停止,这就相当于一个回文,记录下来...,然后又继续…直到到最后一个。...在最左边界为j-c[j],肯定要大于等于0;最右边界为j+c[j]【这里数组c[j]表示是b[i]为中心回文半径】,就要小于length,同时因为在整个字符数组都左右最后一个元素都是“#”

87620

java字符串练习题6、最后一个单词长度

java字符串练习题6、最后一个单词长度 题目:  给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串 最后一个 单词长度。...单词 是指仅由字母组成、不包含任何空格字符最大子字符串。 测试数据: 示例 1: 输入:s = "Hello World" 输出:5 解释:最后一个单词是“World”,长度为5。...字符串函数中学了一个函数叫做split,这个函数能将英文语句通过空格方式都拆分出来,他并没有说最后一个结尾是否是符号,所以我们就直接当做一个单词来处理。 ...这里拆分后我获取最后一个元素,直接输出长度即可,还是很方便。相对效率还可以。...,这个就是直接获取最后一个单词来处理。

85320

纯JS实现在一个字符串b查找另一个字符串a出现所有位置,并且不使用字符串方法(递归)

问题:判断字符串A在中所有出现字符串B(长度大于1)索引。...// 思路: 如果不能使用字符串相应方法,我们可以把字符串转换成数组,使用递归函数不断去比对相应数组索引,然后把满足条件索引打印出来,其实很多现在前后端交互处理数据方法,用都是递归偏多,...话不多说,我们先上解决问题方法: // 其实很多现在前后端交互处理数据方法,用都是递归变多,千万别小瞧递归 // 思路: 不能使用字符串相应方法,我们可以把字符串转换成数组...,和arr1索引字符相同相同 // 既然第一个索引相同,我们这里就声明一个变量num,让变量num依据arr2长度去递增 var num...= 0 function ccc (arr) { // 第一个索引相同,让他们索引分别加上变量num,去比对他们索引后面的位置是否相同

1.2K20

出现次数少到多顺序输出数组字符串

1)把数组没重复字符串按原先先后顺序打印出来 (2)把数组中有重复字符串,按出现次数少到多顺序打印出来,每个字符串只打印一次 思路 C++,vector按先后顺序存储数据,因此可把没重复字符串按顺序存到...map默认是按key从小到大顺序存放数据,所以可把有重复数据存到map,并且以出现次数为key,以字符串为value 代码 #include #include #include using namespace std; #define len 8 // 计算某个字符串在数组中出现次数 int countInArray(string s[],...,按先后顺序放到vector v.push_back(s[i]); } else { // 出现多次,放到map...,以次数为key,字符串为value m[count] = s[i]; } } // 把map字符串,按出现次数少到多顺序,加到vector

2.5K60

java如何输出一个某种编码字符串

面试题汇总链接 Java后端面试知识点汇总 先上案例,先上案例 看不懂不要紧,看案例后解析 public String translate (String str) {...字符串在当前系统默认编码字符串,之后再加上参数就是返回该字符串指定参数默认编码字符串,str.getBytes(“ISO-8859-1”) 就是返回ISO-8859-1这个编码格式字符串。...new String(str.getBytes(“ISO-8859-1”), “GBK”) 这个就是把前边字符串转换成第二个参数指定GBK格式字符串。...拓展: 如果你只想得到某个字符串指定编码格式字节数组,需要注意在获取字节数组语句要写到捕获异常语句中,Eg:try catch 或者在方法上抛出异常 Eg:throws UnsupportedEncodingException...大功告成,又get到了一个知识有木有。

1.7K20
领券