if(i == (s.length() - 1) || ch[i] == ' ' || ch[i] == ',' || ch[i] == '.' || ch[i] ==';')
s是字符串“sds sds dd,dsd”
ch是字符数组
我想分离字符串中的每个单词
i == (s.length() - 1)这句话不起作用,想问一下有什么办法能判断这行字符串到尾字符了
在线等

解决方案 »

  1.   

    正则表达式拆分这段字符:String[] strArrays =s.split("[\\d,]");
      

  2.   

    public class IsLastTest { /**
     * @param args
     */
    public static void main(String[] args) {
    // TODO 自动生成方法存根

    String testString = "sds sds dd,ds";
    char[] testChars = testString.toCharArray();
    for(int i=0;i<testChars.length;i++){
    if(testString.lastIndexOf(testString.substring(testString.length()-1, testString.length())) == i){
    System.out.println("这是最后一个字符:"+testChars[i]);
    }

    } }}
      

  3.   

    String[] strArrays =s.split("[\\s,.;]");
      

  4.   

    for example
    String s = "sds sds dd,dsd";
    String[] words = s.split("\\W+");
    System.out.println(Arrays.toString(words));
      

  5.   

    String[] strArrays =s.split("[\\s,.;]");
      

  6.   

    可以用正则表达式String s = "sds sds dd,dsd";
    Pattern p = Pattern.compile("\\w+");
    Matcher m = p.matcher(s);
    while (m.find()) {
      System.out.println(m.group());
    }