我要获取一个字符串中某个标点第二次出现的位置
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我要获取一个字符串中某个标点第二次出现的位置相关的知识,希望对你有一定的参考价值。
我要获取一个字符串中某个标点第二次出现的位置,然后截取这个位置以后的字符串 例如:232ljsfsf.sdfl23.ljsdfsdfsdfss.23423.sdfsdfsfd
先找到"."第二次出现的位置,然后截取后面的字符。
有没有简单明了的方法?
获取方法:
//根据第一个点的位置 获得第二个点的位置
index=str.indexOf(".", index+1)
//根据第二个点的位置,截取 字符串。得到结果 result
String result=str.substring(index)
//输出结果
System.out.println(result)
字符串的形式理论
设 Σ 是叫做字母表的非空有限集合。Σ 的元素叫做"符号"或"字符"。在 Σ 上的字符串(或字)是来自 Σ 的任何有限序列。例如,如果 Σ = 0, 1,则 0101 是在 Σ 之上的字符串。
字符串的长度是在字符串中字符的数目(序列的长度),它可以是任何非负整数。"空串"是在 Σ 上的唯一的长度为 0 的字符串,并被指示为 ε 或 λ。
在 Σ 上的所有长度为 n 的字符串的集合指示为 Σn。例如,如果 Σ = 0, 1 则 Σ2 = 00, 01, 10, 11。注意 Σ0 = ε 对于任何字母表 Σ。
在 Σ 上的所有任何长度的字符串的集合是 Σ 的Kleene闭包并被指示为 Σ*。 依据Σn, 。例如,如果 Σ = 0, 1 则 Σ* = ε, 0, 1, 00, 01, 10, 11, 000, 001, 010, 011, …。尽管 Σ* 自身是可数无限的,Σ* 的所有元素都有有限长度。
在 Σ 上一个字符串的集合(就是 Σ* 的任何子集)被称为在 Σ 上的形式语言。例如,如果 Σ = 0, 1,则带有偶数个零的字符串的集合(ε, 1, 00, 11, 001, 010, 100, 111, 0000, 0011, 0101, 0110, 1001, 1010, 1100, 1111, …)是在 Σ 上的形式语言。
参考技术A public class TestCodepublic static void main(String[] args)
String str ="232ljsfsf.sdfl23.ljsdfsdfsdfss.23423.sdfsdfsfd";
//获得第一个点的位置
int index=str.indexOf(".");
System.out.println(index);
//根据第一个点的位置 获得第二个点的位置
index=str.indexOf(".", index+1);
//根据第二个点的位置,截取 字符串。得到结果 result
String result=str.substring(index);
//输出结果
System.out.println(result);
本回答被提问者采纳 参考技术B String str = "232ljsfsf.sdfl23.ljsdfsdfsdfss.23423.sdfsdfsfd";
int secondPoint = StringUtils.ordinalIndexOf(str, ".", 2);
String result = str.substring(secondPoint+1);
System.out.println(result);
QT 获取字符串的位置
我想用QT获取"*"所在的位置并且删除相应行后面所有的字符串,就是和注释一样
QString的indexOf函数.追问我知道了,但是我要去掉它后面的所有文字,怎么做?
追答mid函数截取.
参考技术A 使用正则表达式这个任务最简单了。以上是关于我要获取一个字符串中某个标点第二次出现的位置的主要内容,如果未能解决你的问题,请参考以下文章