我要获取一个字符串中某个标点第二次出现的位置

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 TestCode
public 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 使用正则表达式这个任务最简单了。

以上是关于我要获取一个字符串中某个标点第二次出现的位置的主要内容,如果未能解决你的问题,请参考以下文章

截取字符串时,查找某字符第二次出现的位置,怎么查

js怎样获取某个特殊字符最后出现的位置

js怎样获取某个特殊字符最后出现的位置

vb一个字符串在另一个字符串中第二次出现的位置?

怎么找到一个字符串中特定字符的位置

java如何获取字符位置?