java - 如何删除某个字符之前的所有内容并将字符分成组

标签 java regex string

所以我在表单中有一个 Java 输入

s1,s2,s3,s4,s5,...,sn

我有 n 个字符,用逗号分隔。我想在某个点拆分它们,并且在我的字符串中只留下索引更大的字符。 让我们假设这段代码

String s = "a,bn,c,st1,d,kr332,23,b4,46"

我想拆分它,比方说在第三个符号之后,所以在 c 处。 我希望剩下的字符串是

s="st1,d,kr332,23,b4,46"

我想出了一个方法,但看起来很原始

List<String> list = Arrays.asList(s.split(","));
s="";

现在我会有一个字符串列表,我可以像这样遍历它们

for(int i=(number where i want to cut off); i<list.size(); i++){
s+=list.get(i);
}

有没有更优雅的方式来做到这一点?

最佳答案

此任务不需要任何正则表达式。

String s = "a,bn,c,st1,d,kr332,23,b4,46";
String find = ",c,";

String r = s.substring(s.indexOf(find)+find.length()); // st1,d,kr332,23,b4,46

编辑:

As per comments you can use this to remove everything upto 3rd comma:

String r = s.replaceFirst("([^,]*,){3}", "")

关于java - 如何删除某个字符之前的所有内容并将字符分成组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23113221/

相关文章:

java - 加载包时出错 (JNI) - 无法找到符号 "__aeabi_memcpy"

java - 使用 servlet 设置文件权限

android - 解决 Android/Java Pattern/Matcher Regex 超长字符串限制

regex - 如何在 powershell 中使用正则表达式选择 "catch"代码块?

php - 需要一个正则表达式来匹配不带前导 0 的十进制数字

arrays - 有没有办法在 Bash 中将一个字符串数组拆分为多个其他数组?

Java:如何将 ASCII 字符串转换为字符字符串?

java - 用于解析的正则表达式模式

java - Java 中的异常类型

c# - 正则表达式查找 css 引用