Home  >  Article  >  Backend Development  >  Tips on how to use strip in Python

Tips on how to use strip in Python

零到壹度
零到壹度Original
2018-04-09 15:25:232199browse

The content of this article is to share with you some tips on how to use strip in Python. It has a certain reference value. Friends in need can refer to it

【Appetizers】

When it comes to the strip method in python, everyone who has been exposed to python must know that it is mainly used to remove spaces. There are two ways to achieve this.

Method 1: Use the built-in function

#<python>
if __name__ == &#39;__main__&#39;:
    str = &#39; Hello world &#39;
    print &#39;[%s]&#39; %str.strip()
#</python>

Method 2: Call the method in the string module

#<python>
import string
if __name__ == &#39;__main__&#39;:
    str = &#39; Hello world &#39;
    print &#39;[%s]&#39; %string.strip(str)
#</python>

I wonder if you know the difference between these two calls? The following are some personal opinions

Ø str.strip() is a built-in function that calls python, string.strip(str) is a method that calls the string module

Ø string.strip(str) It is defined in the string module. And str.strip() is defined in the builtins module

Question 1: How to check whether a method in a module is defined in a built-in module?

Use dir (module name) to see if there is a '__builtins__' attribute.

For example: View the string module

#<python>print dir(string)#</python>

Question 2. How to view all built-in functions in python

#<python>
 print dir(sys.modules[&#39;__builtin__&#39;])
 #</python>

Question 3, How to view the built-in function definitions in built-in modules

#<python>printhelp(__builtins__) #</python>

The above are all things that everyone usually knows. Let’s get into this article Topic:

[Hard Dish in Rice]

First of all, please take a look at the results of the following program:

#<python>
if __name__ == &#39;__main__&#39;:
    str = &#39;hello world&#39; 
    print str.strip(&#39;hello&#39;)
    print str.strip(&#39;hello&#39;).strip()
    print str.strip(&#39;heldo&#39;).strip()   #sentence 1
   
    stt = &#39;h1h1h2h3h4h&#39;
    print stt.strip(&#39;h1&#39;)               #sentence 2
   
    s =&#39;123459947855aaaadgat134f8sfewewrf7787789879879&#39;
    print s.strip(&#39;0123456789&#39;)        #sentence 3
#</python>

The results are shown on the next page:

Run results:

world
world
wor
2h3h4
aaaadgat134f8sfewewrf

Did you answer correctly? O(∩_∩)O~

If you got all the answers correct, I will give you 32 likes here...

Result analysis:

First, let’s take a look at the strip source code in the string module:

#<python>
# Strip leading and trailing tabs and spaces
def strip(s, chars=None):
    """strip(s [,chars]) -> string
    Return a copy of the string swith leading and trailing
    whitespace removed.
    If chars is given and not None,remove characters in chars instead.
    If chars is unicode, S will beconverted to unicode before stripping.
    """
returns.strip(chars)
#</python>

Let’s take the liberty of translating it: This method is used to remove leading and trailing spaces and tabs. Returns a copy of the S string with spaces removed. If the parameter chars does not have a value of None, then all characters appearing in chars are removed. If chars is unicode, S is converted to unicode before operation.

The following is an explanation of sentence1 \2 \3 in the above paragraph:

#<python>
str = &#39;hello world&#39;
print str.strip(&#39;heldo&#39;).strip()
#</python>
result:wor
执行步骤:
elloworld
lloworld
oworld
oworl
 worl
 wor
wor

Specific code execution process:

#<python>
    print str.strip(&#39;h&#39;)
    print str.strip(&#39;h&#39;).strip(&#39;e&#39;)
    print str.strip(&#39;h&#39;).strip(&#39;e&#39;).strip(&#39;l&#39;)
    print str.strip(&#39;h&#39;).strip(&#39;e&#39;).strip(&#39;l&#39;).strip(&#39;d&#39;)
    print str.strip(&#39;h&#39;).strip(&#39;e&#39;).strip(&#39;l&#39;).strip(&#39;d&#39;).strip(&#39;o&#39;)
    print str.strip(&#39;h&#39;).strip(&#39;e&#39;).strip(&#39;l&#39;).strip(&#39;d&#39;).strip(&#39;o&#39;).strip(&#39;l&#39;)
    printstr.strip(&#39;h&#39;).strip(&#39;e&#39;).strip(&#39;l&#39;).strip(&#39;d&#39;).strip(&#39;o&#39;).strip(&#39;l&#39;).strip()
#</python>

I don’t know if you understand the mystery. I discovered this rule with the help of project manager Shaan Fenyong.

Now a little summary:

s.strip(chars) usage rules:

First traverse the first character in chars to see if it is at the beginning and end of S , if so, remove it. Set the removed new string to s and continue looping, starting from the first character in chars. If not, start directly from the second character of chars. Keep looping until the first and last characters in s are not in chars, then the loop terminates.

Key point: Check whether the characters in chars are at the beginning and end of S

After reading this method, I found that the python source code developer is so awesome, even such a classic algorithm is thought of out.

[After-dinner pastries]

This method is mainly used to remove specified characters at both ends according to specific rules. If sentence3 is a good application.

For example: intercept the numbers at both ends of the string, or get the string between the first and last occurrence of the characteristic character, etc.

The above is the detailed content of Tips on how to use strip in Python. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn