| |
| class StringStrip: |
| """Removing the leading and/or the trailing characters based on the string |
| argument passed. |
| |
| Args: |
| strip (bool): Whether remove characters from both left and right of |
| the string. Default: True. |
| strip_pos (str): Which position for removing, can be one of |
| ('both', 'left', 'right'), Default: 'both'. |
| strip_str (str|None): A string specifying the set of characters |
| to be removed from the left and right part of the string. |
| If None, all leading and trailing whitespaces |
| are removed from the string. Default: None. |
| """ |
|
|
| def __init__(self, strip=True, strip_pos='both', strip_str=None): |
| assert isinstance(strip, bool) |
| assert strip_pos in ('both', 'left', 'right') |
| assert strip_str is None or isinstance(strip_str, str) |
|
|
| self.strip = strip |
| self.strip_pos = strip_pos |
| self.strip_str = strip_str |
|
|
| def __call__(self, in_str): |
|
|
| if not self.strip: |
| return in_str |
|
|
| if self.strip_pos == 'left': |
| return in_str.lstrip(self.strip_str) |
| elif self.strip_pos == 'right': |
| return in_str.rstrip(self.strip_str) |
| else: |
| return in_str.strip(self.strip_str) |
|
|