U
    MZf8                     @  sj   d dl mZ d dlZd dlZd dlmZmZmZ d dlZ	d dl
mZ erTd dlmZ G dd dejZdS )    )annotationsN)TYPE_CHECKINGCallableLiteral)Scalar)Seriesc                	   @  s  e Zd ZdZdd ZejdddddZejddddddZejdddddddZ	ejdddZ
ejdddZejddddddddddZejd d! Zejddejfdddd"d#d$d%Zejddejfdddd"d#d&d'Zejddd)d*d+Zejddd,d-d.Zejddd,d/d0Zejdddd1d2Zejd3d4 Zejddd,d5d6Zejddd,d7d8Zejd9d: Zejd;d< Zejd=d> Zejd?d@ ZejddAdBZejddCdDZejdEdF ZejdGdH Z ejdddJdKdLZ!ejdMdN Z"ejdOdP Z#ejdQdR Z$ejdSdT Z%ejdUdV Z&ejdWdX Z'ejdYdZ Z(ejd[d\ Z)ejd]d^ Z*ejd_d` Z+ejdadb Z,ejdcdd Z-ejdedf Z.ejdgdh Z/ejdidj Z0ejdkdl Z1ejddmdnZ2ejddodpZ3ejddqdrZ4ejddsdtdudvZ5ejddsdwdxdyZ6ejddd{d|d}d~Z7ejdddZ8ejdddddddZ9dS )BaseStringArrayMethodsa  
    Base class for extension arrays implementing string methods.

    This is where our ExtensionArrays can override the implementation of
    Series.str.<method>. We don't expect this to work with
    3rd-party extension arrays.

    * User calls Series.str.<method>
    * pandas extracts the extension array from the Series
    * pandas calls ``extension_array._str_<method>(*args, **kwargs)``
    * pandas wraps the result, to return to the user.

    See :ref:`Series.str` for the docstring of each method.
    c                 C  s.   t |tr | j|j|j|jdS | |S d S )N)startstopstep)
isinstanceslice
_str_slicer	   r
   r   _str_get)selfkey r   </tmp/pip-unpacked-wheel-nbcvw55c/pandas/core/strings/base.py_str_getitem#   s    
z#BaseStringArrayMethods._str_getitemr   int)flagsc                 C  s   d S Nr   r   patr   r   r   r   
_str_count)   s    z!BaseStringArrayMethods._str_countleft z"Literal[('left', 'right', 'both')]str)sidefillcharc                 C  s   d S r   r   )r   widthr   r   r   r   r   _str_pad-   s    zBaseStringArrayMethods._str_padTNbool)caser   regexc                 C  s   d S r   r   )r   r   r#   r   nar$   r   r   r   _str_contains6   s    z$BaseStringArrayMethods._str_containsc                 C  s   d S r   r   r   r   r%   r   r   r   _str_startswith<   s    z&BaseStringArrayMethods._str_startswithc                 C  s   d S r   r   r'   r   r   r   _str_endswith@   s    z$BaseStringArrayMethods._str_endswithzstr | re.Patternzstr | Callable)r   replnr#   r   r$   c                 C  s   d S r   r   )r   r   r+   r,   r#   r   r$   r   r   r   _str_replaceD   s    
z#BaseStringArrayMethods._str_replacec                 C  s   d S r   r   )r   Zrepeatsr   r   r   _str_repeatP   s    z"BaseStringArrayMethods._str_repeatr   )r   r#   r   r%   c                 C  s   d S r   r   r   r   r#   r   r%   r   r   r   
_str_matchT   s    z!BaseStringArrayMethods._str_matchc                 C  s   d S r   r   r/   r   r   r   _str_fullmatchZ   s    z%BaseStringArrayMethods._str_fullmatchstrict)errorsc                 C  s   d S r   r   )r   encodingr3   r   r   r   _str_encoded   s    z"BaseStringArrayMethods._str_encode)r	   c                 C  s   d S r   r   r   subr	   endr   r   r   	_str_findh   s    z BaseStringArrayMethods._str_findc                 C  s   d S r   r   r6   r   r   r   
_str_rfindl   s    z!BaseStringArrayMethods._str_rfindc                 C  s   d S r   r   r   r   r   r   _str_findallp   s    z#BaseStringArrayMethods._str_findallc                 C  s   d S r   r   )r   ir   r   r   r   t   s    zBaseStringArrayMethods._str_getc                 C  s   d S r   r   r6   r   r   r   
_str_indexx   s    z!BaseStringArrayMethods._str_indexc                 C  s   d S r   r   r6   r   r   r   _str_rindex|   s    z"BaseStringArrayMethods._str_rindexc                 C  s   d S r   r   r   sepr   r   r   	_str_join   s    z BaseStringArrayMethods._str_joinc                 C  s   d S r   r   r   r@   expandr   r   r   _str_partition   s    z%BaseStringArrayMethods._str_partitionc                 C  s   d S r   r   rB   r   r   r   _str_rpartition   s    z&BaseStringArrayMethods._str_rpartitionc                 C  s   d S r   r   r   r   r   r   _str_len   s    zBaseStringArrayMethods._str_lenc                 C  s   d S r   r   )r   r	   r
   r   r   r   r   r      s    z!BaseStringArrayMethods._str_slicec                 C  s   d S r   r   )r   r	   r
   r+   r   r   r   _str_slice_replace   s    z)BaseStringArrayMethods._str_slice_replacec                 C  s   d S r   r   )r   tabler   r   r   _str_translate   s    z%BaseStringArrayMethods._str_translatec                 K  s   d S r   r   )r   r    kwargsr   r   r   	_str_wrap   s    z BaseStringArrayMethods._str_wrap|)r@   c                 C  s   d S r   r   r?   r   r   r   _str_get_dummies   s    z'BaseStringArrayMethods._str_get_dummiesc                 C  s   d S r   r   rF   r   r   r   _str_isalnum   s    z#BaseStringArrayMethods._str_isalnumc                 C  s   d S r   r   rF   r   r   r   _str_isalpha   s    z#BaseStringArrayMethods._str_isalphac                 C  s   d S r   r   rF   r   r   r   _str_isdecimal   s    z%BaseStringArrayMethods._str_isdecimalc                 C  s   d S r   r   rF   r   r   r   _str_isdigit   s    z#BaseStringArrayMethods._str_isdigitc                 C  s   d S r   r   rF   r   r   r   _str_islower   s    z#BaseStringArrayMethods._str_islowerc                 C  s   d S r   r   rF   r   r   r   _str_isnumeric   s    z%BaseStringArrayMethods._str_isnumericc                 C  s   d S r   r   rF   r   r   r   _str_isspace   s    z#BaseStringArrayMethods._str_isspacec                 C  s   d S r   r   rF   r   r   r   _str_istitle   s    z#BaseStringArrayMethods._str_istitlec                 C  s   d S r   r   rF   r   r   r   _str_isupper   s    z#BaseStringArrayMethods._str_isupperc                 C  s   d S r   r   rF   r   r   r   _str_capitalize   s    z&BaseStringArrayMethods._str_capitalizec                 C  s   d S r   r   rF   r   r   r   _str_casefold   s    z$BaseStringArrayMethods._str_casefoldc                 C  s   d S r   r   rF   r   r   r   
_str_title   s    z!BaseStringArrayMethods._str_titlec                 C  s   d S r   r   rF   r   r   r   _str_swapcase   s    z$BaseStringArrayMethods._str_swapcasec                 C  s   d S r   r   rF   r   r   r   
_str_lower   s    z!BaseStringArrayMethods._str_lowerc                 C  s   d S r   r   rF   r   r   r   
_str_upper   s    z!BaseStringArrayMethods._str_upperc                 C  s   d S r   r   )r   formr   r   r   _str_normalize   s    z%BaseStringArrayMethods._str_normalizec                 C  s   d S r   r   r   Zto_stripr   r   r   
_str_strip   s    z!BaseStringArrayMethods._str_stripc                 C  s   d S r   r   r`   r   r   r   _str_lstrip   s    z"BaseStringArrayMethods._str_lstripc                 C  s   d S r   r   r`   r   r   r   _str_rstrip   s    z"BaseStringArrayMethods._str_rstripr   )prefixreturnc                 C  s   d S r   r   )r   rd   r   r   r   _str_removeprefix   s    z(BaseStringArrayMethods._str_removeprefix)suffixre   c                 C  s   d S r   r   )r   rg   r   r   r   _str_removesuffix   s    z(BaseStringArrayMethods._str_removesuffixFzbool | None)rC   r$   c                 C  s   d S r   r   )r   r   r,   rC   r$   r   r   r   
_str_split   s    z!BaseStringArrayMethods._str_splitc                 C  s   d S r   r   )r   r   r,   r   r   r   _str_rsplit   s    z"BaseStringArrayMethods._str_rsplit)r   r   rC   c                 C  s   d S r   r   )r   r   r   rC   r   r   r   _str_extract  s    z#BaseStringArrayMethods._str_extract)r   )r   r   )Tr   NT)N)N)r*   Tr   T)r2   )r   N)r   N)r   )r   N)r   N)NNN)NNN)rM   )N)N)N)Nr*   FN)Nr*   )r   T):__name__
__module____qualname____doc__r   abcabstractmethodr   r!   r&   r(   r)   r-   r.   npnanr0   r1   r5   r9   r:   r;   r   r=   r>   rA   rD   rE   rG   r   rH   rJ   rL   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rX   rY   rZ   r[   r\   r]   r_   ra   rb   rc   rf   rh   ri   rj   rk   r   r   r   r   r      s                
  	






















       r   )
__future__r   rp   retypingr   r   r   Znumpyrr   Zpandas._typingr   Zpandasr   ABCr   r   r   r   r   <module>   s   