comefrom: <gouthampradhan>string_ValidWordAbbreviation_1.java
code: public boolean validWordAbbreviation(String word, String abbr) {
      if (abbr.length() > word.length()) return false;
      StringBuilder num = new StringBuilder();
      int j = 0;
      for (int i = 0; i < abbr.length() && j < word.length(); i++) {
        char curr = abbr.charAt(i);
        if (curr == '0' && num.toString().isEmpty()) return false;
        if (curr >= '0' && curr <= '9') {
          num.append(curr);
        } else {
          if (num.toString().isEmpty()) {
            if (word.charAt(j) != abbr.charAt(i)) {
              return false;
            }
            j++;
          } else {
            int next = Integer.parseInt(num.toString());
            j += next;
            if (word.length() <= j) {
              return false;
            }
            if (word.charAt(j) != abbr.charAt(i)) {
              return false;
            }
            num = new StringBuilder();
            j++;
          }
        }
      }
      if (!num.toString().isEmpty()) {
        int next = Integer.parseInt(num.toString());
        j += next;
        if (j > word.length() || j < word.length()) {
          return false;
        }
      }
      return true;
    }
masked: public boolean var_0 ( String var_1 , String var_2 ) {
    if ( var_2 . length ( ) > var_1 . length ( ) ) return false ;
    StringBuilder var_3 = new StringBuilder ( ) ;
    int var_4 = 0 ;
    for ( int var_5 = 0 ;
    var_5 < var_2 . length ( ) && var_4 < var_1 . length ( ) ;
    var_5 ++ ) {
      char var_6 = var_2 . charAt ( var_5 ) ;
      if ( var_6 == '0' && var_3 . toString ( ) . isEmpty ( ) ) return false ;
      if ( var_6 >= '0' && var_6 <= '9' ) {
        var_3 . append ( var_6 ) ;
      }
      else {
        if ( var_3 . toString ( ) . isEmpty ( ) ) {
          if ( var_1 . charAt ( var_4 ) != var_2 . charAt ( var_5 ) ) {
            return false ;
          }
          var_4 ++ ;
        }
        else {
          int var_7 = Integer . parseInt ( var_3 . toString ( ) ) ;
          var_4 += var_7 ;
          if ( var_1 . length ( ) <= var_4 ) {
            return false ;
          }
          if ( var_1 . charAt ( var_4 ) != var_2 . charAt ( var_5 ) ) {
            return false ;
          }
          var_3 = new StringBuilder ( ) ;
          var_4 ++ ;
        }
      }
    }
    if ( ! var_3 . toString ( ) . isEmpty ( ) ) {
      int var_7 = Integer . parseInt ( var_3 . toString ( ) ) ;
      var_4 += var_7 ;
      if ( var_4 > var_1 . length ( ) || var_4 < var_1 . length ( ) ) {
        return false ;
      }
    }
    return true ;
  }
  