java如何得到字符串里后面几个字符

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java如何得到字符串里后面几个字符相关的知识,希望对你有一定的参考价值。

如 String ss=" XX:XXXX...";
想要得到第4个字符串后面的所有内容

参考技术A substring(参数)是java中截取字符串的一个方法
有两种传参方式
一种是public String substring(int beginIndex)
返回一个新的字符串,它是此字符串的一个子字符串。该子字符串从指定索引处的字符开始,直到此字符串末尾。
另一种是public String substring(int beginIndex, int endIndex)
返回一个新字符串,它是此字符串的一个子字符串。该子字符串从指定的 beginIndex 处开始,直到索引 endIndex - 1 处的字符。因此,该子字符串的长度为 endIndex-beginIndex。
详情请参考API java.lang.String
至于LZ说的
String subString;
subString=number.subString(i,i+1);
定义一个String类型的变量去存储number截取第i个位置到第i+1个位置的字符串
笼统说就是 我们去截取number的第i个到第i+1个的字符,然后赋值给String类型的变量subString
参考技术B System.out.println("第4个字符串以后的内容:"+ss.substring(3));
System.out.println("第4和6之间的内容:"+ss.substring(3,5));
参考技术C split()然后用数组取 参考技术D ing num=ss.length();
String newss=ss.substring(4,num);本回答被提问者采纳

如何在char数组Java中找到一个字符后跟一个字符?

我试图在字符数组中找到一个字符数组,这样在数组中,A后面跟着B.出于某种原因,我没有得到错误,但我也无法让它做我想要的工作当我有一个组合的数组。我只是想知道是否有人可以解释我做错了什么,并指出我正确的方向。

char[] Array = new char[] 'A','B','C','D'....;
char A = 'A';
char B = 'B';
....
for (int i = 0 ; i < Array.length; i ++) 
  if (Array[i] == A && Array[i++] == B) 
    //Work Here
  

答案

首先,要使i + 1超过数组索引,请使用i < arr.length - 1 for循环。然后,在arr[i++]声明中将arr[i+1]更改为if

char[] arr = new char[] 'A','B','C','D'....;
char a = 'A';
char b = 'B';
....
for (int i = 0 ; i < arr.length - 1; i++) 
    if (arr[i] == a && arr[i+1] == b) 
        //Work Here
    

P.S:prop名称是故意从大写情况转换为与Java命名约定一致的。

另一答案

问题出在这里:Array[i++] == B,即i++是一个后增量,这意味着它首先被评估为i然后它增加1

如果i=0例如,Array[i++] == B给你Array[0] == B,然后在那之后i=1

解决问题:使用Array[i+1] == BArray[++i] == B代替

read here

所以,i++返回i,但它增加i 1

另一答案

虽然我喜欢其他答案的方法到目前为止更好。如果你想坚持你的方法,你需要正确的增量运算符(并且还要注意索引不超过边界):

for (int i = 0 ; i < Array.length-1;) 
  if (Array[i++] == A && Array[i] == B) 
    //Work Here
  

对于一个不相信它的人来说,运行一些数据:

public static void main(String... args) 
    char[] Array = new char[]'A', 'B', 'C', 'D', 'A', 'B','C', 'D', 'B','A', 'A';
    char A = 'A';
    char B = 'B';
    for (int i = 0; i < Array.length - 1;) 
        if (Array[i++] == A && Array[i] == B) 
            System.err.println("found at index;" +i);
        
    

输出:

found at index;1
found at index;5

以上是关于java如何得到字符串里后面几个字符的主要内容,如果未能解决你的问题,请参考以下文章

java取字符串后面几位数怎么取

Oracle如何使用将一个字符里的字母去掉?

vue 替换字符串里的字符

java中如何截取一个字符串里的英文和数字组合

java中如何将字符串数组保存在数据库里

javascript 以逗号截取字符