如何获取Java中字符串中一定位数后的所有字符?
How can I get all the characters after a certain number of digits in a string in Java?
我的问题很简单。我想在一定数量的数字之后获取字符串中的所有字符。例如,如果我输入 123 InsertIGN,我想知道如何获取 123 之后的所有字符,无论它们有多少。如果我输入 123 VeryLongWordHereshfusihdisa,我希望它仍然有效。我想在 123 之后得到所有东西。我有什么办法可以做到这一点吗?抱歉这个愚蠢的问题,我有一段时间停止在 Java 中编码,最近又回来了。预先感谢您的任何回答!
获取分配给输入字符串中每个字符的 Unicode 代码点整数。
String input = "123 InsertIGN" ;
List< Integer > codePoints = input.codePoints().boxed().toList() ;
循环每个代码点。询问该字符是否为数字。如果是这样,请增加计数。达到您想要的限制后,收集剩余的字符。
StringBuilder result = new StringBuilder() ;
int limit = 3 ; // Number of digit occurrences to get past.
int count = 0 ;
for( Integer codePoint : codePoints )
{
if( count < limit )
{
if( Character.isDigit( codePoint ) ) { count ++ ; }
}
else
{
result.append( codePoint ) ;
}
}
有一些巧妙的方法可以使用流来做到这一点。但是作为返回 Java 编程的人,您可能对此并不熟悉。所以以上是老派做法。
如果你的测试用例是“123”总是在字符串的第一位。您可以像
这样简单地使用子字符串
String testCase = "123ABCD!@#$";
String result = testCase.substring("123".length());
或者,如果您的测试用例是“123”,它位于随机位置,但仍然可以获得其背后的所有字符。我们可以破解它
String testCase = "ABCD123!@#$";
String splitBy
int index123 = testCase.indexOf("123") + "123".length();
String result = testCase.substring("123".length());
会return
result = !@#$
使用 index123
对象,我们试图获得没有“123”的第一个“123”的位置,这就是为什么我们需要添加“123”的长度。
让我们尝试使用另一个测试用例
String testCase = "ABCD123!@#3XYZ";
将return
result = !@#3XYZ
因为我们只处理第一个“123”
我的问题很简单。我想在一定数量的数字之后获取字符串中的所有字符。例如,如果我输入 123 InsertIGN,我想知道如何获取 123 之后的所有字符,无论它们有多少。如果我输入 123 VeryLongWordHereshfusihdisa,我希望它仍然有效。我想在 123 之后得到所有东西。我有什么办法可以做到这一点吗?抱歉这个愚蠢的问题,我有一段时间停止在 Java 中编码,最近又回来了。预先感谢您的任何回答!
获取分配给输入字符串中每个字符的 Unicode 代码点整数。
String input = "123 InsertIGN" ;
List< Integer > codePoints = input.codePoints().boxed().toList() ;
循环每个代码点。询问该字符是否为数字。如果是这样,请增加计数。达到您想要的限制后,收集剩余的字符。
StringBuilder result = new StringBuilder() ;
int limit = 3 ; // Number of digit occurrences to get past.
int count = 0 ;
for( Integer codePoint : codePoints )
{
if( count < limit )
{
if( Character.isDigit( codePoint ) ) { count ++ ; }
}
else
{
result.append( codePoint ) ;
}
}
有一些巧妙的方法可以使用流来做到这一点。但是作为返回 Java 编程的人,您可能对此并不熟悉。所以以上是老派做法。
如果你的测试用例是“123”总是在字符串的第一位。您可以像
这样简单地使用子字符串String testCase = "123ABCD!@#$";
String result = testCase.substring("123".length());
或者,如果您的测试用例是“123”,它位于随机位置,但仍然可以获得其背后的所有字符。我们可以破解它
String testCase = "ABCD123!@#$";
String splitBy
int index123 = testCase.indexOf("123") + "123".length();
String result = testCase.substring("123".length());
会return
result = !@#$
使用 index123
对象,我们试图获得没有“123”的第一个“123”的位置,这就是为什么我们需要添加“123”的长度。
让我们尝试使用另一个测试用例
String testCase = "ABCD123!@#3XYZ";
将return
result = !@#3XYZ
因为我们只处理第一个“123”