gpt4 book ai didi

java - 如何在给定字符串中的四个空格后获取子字符串?

转载 作者:搜寻专家 更新时间:2023-10-31 08:13:44 29 4
gpt4 key购买 nike

我有像“align is going to school sad may me”这样的字符串。我想在四个空格之后得到子字符串。字符串将在运行时输入。谁能建议我在一些空格后找到子字符串......

String st = "align is going to school sad may me";

int i = 0;
String [] strings = new String [15];
StringTokenizer stringTokenizer = new StringTokenizer (st, " ");

while (stringTokenizer.hasMoreElements ())
{
strings [i]= (String)stringTokenizer.nextElement ();
i++;
}
System.out.println ("I value is" + i);

for (int j=4; j<i; j++)
{
System.out.print (strings[j] + " ");
}

我已经尝试过这个并且它可以工作,你能建议我在一些空格后找到子字符串的简单方法吗?

最佳答案

st = st.replaceAll("^(\\S*\\s){4}", "");

^ 表示我们只从字符串的第一个字符开始删除。

\s 是任何空格。例如,它还会删除表格。

\S 是任何非空白字符。

* 表示该字符出现任意次数。

因此,\S* 是空白之前任意数量的非空白字符。

{4} 显然是因为你想删除 4 个空格。

您还可以使用:

st = st.replaceFirst("(\\S*\\s){4}", "");

这是一样的,但你不需要 ^

如果输入字符串少于 4 个空格:

st = st.replaceAll("^(\\S*\\s){1,4}", "");

会返回字符串的最后一个单词,前提是字符串不以空格结尾。如果您先调用 trim,就可以确定这一点:

st = st.trim().replaceAll("^(\\S*\\s){1,4}", "");

关于java - 如何在给定字符串中的四个空格后获取子字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14686838/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com