find_close_bucket 0.1.2

find_close_bucket
Documentation

find_close_bucket

pub fn find_close_bucket(txt: impl AsRef<str>, start: char, end: char) -> Option<usize> {
  let txt = txt.as_ref();

  let mut count: usize = 0;
  let mut iter = txt.char_indices();

  while let Some((i, c)) = iter.next() {
    if c == start {
      count += 1;
    } else if c == end {
      if count == 0 {
        return Some(i);
      }
      count -= 1;
    } else if c == '\\' {
      iter.next();
    }
  }

  None
}

About

This project is an open-source component of i18n.site ⋅ Internationalization Solution.

关于

本项目为 i18n.site ⋅ 国际化解决方案 的开源组件。