java - 如何获取最后7位之前的子字符串

标签 java

例如,如果我有一个电话号码字符串

19051112222 我想要 1905

9051112222 我想要 905

我需要它能够处理最后 7 位数字之前的任意位数。

最佳答案

您可以使用substring并从 String 的开头开始(又名位置 0 )到 String 的长度减7 .

它看起来像 str.substring(0, str.length() - 7) .

测试代码:

 String str = "19051112222";
 System.out.println(str.substring(0, str.length() - 7));

 str = "9051112222";
 System.out.println(str.substring(0, str.length() - 7)); 

输出:

1905
905

请注意,如果String小于7字符,您将得到 StringIndexOutOfBoundsException ,所以如果您希望这是可能的,您应该将此代码转换为方法并检查 if (str.length() < 7) .

示例方法:

 public static String removeFinalSeven(String str) {
     if (str.length() < 7) {
         return ""; //return whatever you want to happen in this scenario
     }
     return str.substring(0, str.length() - 7);
 }

关于java - 如何获取最后7位之前的子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60344699/

相关文章:

java - 使用 AOP 避免从存储库返回 null 是一个好习惯吗

java - 创建文件 [] : Unsatisfied dependency expressed through constructor parameter 1 中定义的名称为 'fieldServiceImpl' 的 bean 时出错

java - 如何在 Spring(4) 上下文中为 HSQL 配置 Hikari CP?

java - libgdx 中的着色器没有效果 [桌面]

java - RxJava : Why retryWhen/repeatWhen doesn't work?

java - javax.servlet-api.jar 与 servlet-api.jar 之间的区别

java - 跨Spring-JavaFX服务器-客户端系统的访问控制

java - 如何修复 Coldfusion cfcontent 中的属性验证错误(java.string.lang 不支持变量类型)?

java - 这个 onCreate() 方法总是在 Foo() 构造函数之后运行吗?

java - 如何检查字符串是否包含数字?