Not logged in.  Login/Logout/Register | List snippets | | Create snippet | Upload image | Upload data

27
LINES

< > BotCompany Repo | #1021348 // filterChars

JavaX fragment (include) [tags: use-pretranspiled]

Libraryless. Click here for Pure Java version (3805L/22K).

sS lambdaMapLike filterChars(IPred<Char> pred, S s) {
  replace test with pred.get .
  
  if (empty(s)) null;
  int n = l(s), i = 0;
  char c = s.charAt(i);
  bool totality = test(c);
  for (++i; i < n; i++) {
    c = s.charAt(i);
    bool b = test(c);
    
    if (b != totality) {
      // diverse case
      new StringBuilder buf;
      if (totality) buf.append(substring(s, 0, i));
      while ping (true) {
        if (b) buf.append(c);
        if (++i >= n) break;
        c = s.charAt(i);
        b = test(c);
      }
      ret buf.toString();
    }
  }
    
  ret totality ? s : "";
}

download  show line numbers  debug dex  old transpilations   

Travelled to 8 computer(s): bhatertpkbcr, cfunsshuasjs, mqqgnosmbjvj, pyentgdyhuwx, pzhvpgtvlbxg, tvejysmllsmz, vouqrxazstgt, xrpafgyirdlv

No comments. add comment

Snippet ID: #1021348
Snippet name: filterChars
Eternal ID of this version: #1021348/9
Text MD5: aebaf7d53d9d53856cf59019be689704
Transpilation MD5: 881a3d943f0e2f944767c9d1a2a1279d
Author: stefan
Category: javax
Type: JavaX fragment (include)
Public (visible to everyone): Yes
Archived (hidden from active list): No
Created/modified: 2021-10-16 07:32:26
Source code size: 618 bytes / 27 lines
Pitched / IR pitched: No / No
Views / Downloads: 325 / 458
Version history: 8 change(s)
Referenced in: [show references]