Hướng dẫn python raw string format

  1. I know that you can create a multi-line string a few ways:

Triple Quotes

Nội dung chính

  • Multiline Strings
  • 1. Tạo một string
  • 2. Truy cập các ký tự trong Python
  • 3. Xóa / Cập nhật từ một String
  • 3.1 Cập nhật ký tự:
  • 3.2 Cập nhật toàn bộ string:
  • 3.3 Xóa một ký tự:
  • 3.4 Xóa toàn bộ string:
  • 4. Trình tự thoát trong Python
  • 5. Định dạng của string
  • 6. Hằng số string
  • 7. Hàm không dùng nữa

'''
This is a 
multi-line
string.
'''

Concatenating

('this is '
'a string')

Escaping

'This is'\
'a string'
  1. I also know that prefixing the string with r will make it a raw string, useful for filepaths.

    r'C:\Path\To\File'
    

However, I have a long filepath that both spans multiple lines and needs to be a raw string. How do I do this?

This works:

In [1]: (r'a\b'
   ...: '\c\d')
Out[1]: 'a\\b\\c\\d'

But for some reason, this doesn't:

In [4]:  (r'on\e'
   ...: '\tw\o')
Out[4]: 'on\\e\tw\\o'

Why does the "t" only have one backslash?

smci

30.5k18 gold badges110 silver badges145 bronze badges

asked Sep 1, 2017 at 15:23

3

You'd need a r prefix on each string literal

>>> (r'on\e'
     r'\tw\o')
'on\\e\\tw\\o'

Otherwise the first portion is interpreted as a raw string literal, but the next line of string is not, so the '\t' is interpreted as a tab character.

answered Sep 1, 2017 at 15:27

Hướng dẫn python raw string format

Cory KramerCory Kramer

109k15 gold badges156 silver badges206 bronze badges

2

I think you might also need to make the second line a raw string as well by prefixing it with the r as you did in r'on\e'

answered Sep 1, 2017 at 15:27

ddeamaralddeamaral

1,3231 gold badge23 silver badges42 bronze badges


Multiline Strings

You can assign a multiline string to a variable by using three quotes:

Nội dung chính

  • Multiline Strings
  • 1. Tạo một string
  • 2. Truy cập các ký tự trong Python
  • 3. Xóa / Cập nhật từ một String
  • 3.1 Cập nhật ký tự:
  • 3.2 Cập nhật toàn bộ string:
  • 3.3 Xóa một ký tự:
  • 3.4 Xóa toàn bộ string:
  • 4. Trình tự thoát trong Python
  • 5. Định dạng của string
  • 6. Hằng số string
  • 7. Hàm không dùng nữa

Nội dung chính

  • Multiline Strings
  • 1. Tạo một string
  • 2. Truy cập các ký tự trong Python
  • 3. Xóa / Cập nhật từ một String
  • 3.1 Cập nhật ký tự:
  • 3.2 Cập nhật toàn bộ string:
  • 3.3 Xóa một ký tự:
  • 3.4 Xóa toàn bộ string:
  • 4. Trình tự thoát trong Python
  • 5. Định dạng của string
  • 6. Hằng số string
  • 7. Hàm không dùng nữa

Example

You can use three double quotes:

a = """Lorem ipsum dolor sit amet,
consectetur adipiscing elit,
sed do eiusmod tempor incididunt
ut labore et dolore magna aliqua."""
print(a)

Try it Yourself »

Or three single quotes:

Example

a = '''Lorem ipsum dolor sit amet,
consectetur adipiscing elit,
sed do eiusmod tempor incididunt
ut labore et dolore magna aliqua.'''
print(a)

Try it Yourself »

Note: in the result, the line breaks are inserted at the same position as in the code.



Trong Python, String là các mảng byte đại diện cho các ký tự Unicode. Tuy nhiên, Python không có kiểu dữ liệu ký tự, một ký tự đơn giản chỉ là một string có độ dài là 1. Dấu ngoặc vuông có thể được sử dụng để truy cập các phần tử của string.

  • 1. Tạo một string
  • 2. Truy cập các ký tự trong Python
  • 2.1 Cắt string
  • 3. Xóa / Cập nhật từ một String
    • 3.1 Cập nhật ký tự:
    • 3.2 Cập nhật toàn bộ string:
    • 3.3 Xóa một ký tự:
    • 3.4 Xóa toàn bộ string:
  • 4. Trình tự thoát trong Python
  • 5. Định dạng của string
  • 6. Hằng số string
  • 7. Hàm không dùng nữa

1. Tạo một string

String trong Python có thể được tạo bằng cách sử dụng dấu ngoặc đơn hoặc dấu ngoặc kép hoặc thậm chí ba dấu ngoặc đơn.

# -----------------------------------------------------------
#Cafedev.vn - Kênh thông tin IT hàng đầu Việt Nam
#@author cafedevn
#Contact: 
#Fanpage: https://www.facebook.com/cafedevn
#Instagram: https://instagram.com/cafedevn
#Twitter: https://twitter.com/CafedeVn
#Linkedin: https://www.linkedin.com/in/cafe-dev-407054199/
# -----------------------------------------------------------

# Python Program for 
# Creation of String 
  
# Creating a String  
# with single Quotes 
String1 = 'Welcome to the Cafedev World'
print("String with the use of Single Quotes: ") 
print(String1) 
  
# Creating a String 
# with double Quotes 
String1 = "I'm a Cafedev"
print("\nString with the use of Double Quotes: ") 
print(String1) 
  
# Creating a String 
# with triple Quotes 
String1 = '''I'm a Cafedev and I live in a world of "Cafedev"'''
print("\nString with the use of Triple Quotes: ") 
print(String1) 
  
# Creating String with triple 
# Quotes allows multiple lines 
String1 = '''Cafedev 
            For 
            Life'''
print("\nCreating a multiline String: ") 
print(String1) 

Kết quả:

String with the use of Single Quotes: 
Welcome to the Cafedev World

String with the use of Double Quotes: 
I'm a Cafedev

String with the use of Triple Quotes: 
I'm a Cafedev and I live in a world of "Cafedev"

Creating a multiline String: 
Cafedev
            For
            Life

2. Truy cập các ký tự trong Python

Trong Python, các ký tự riêng lẻ của String có thể được truy cập bằng cách sử dụng phương thức chỉ mục. Phương thức chỉ mục cho phép các tham chiếu địa chỉ âm để truy cập các ký tự ở hàng sau của String, ví dụ -1 để chỉ ký tự cuối cùng, -2 để chỉ ký tự cuối cùng thứ hai, v.v.
Việc truy cập một chỉ mục ngoài phạm vi sẽ gây ra IndexError. Chỉ kiểu Integer (nguyên) mới được phép truyền dưới dạng chỉ mục, kiểu float (thực) hoặc các kiểu khác sẽ gây ra TypeError .
[Hình ảnh]

# -----------------------------------------------------------
#Cafedev.vn - Kênh thông tin IT hàng đầu Việt Nam
#@author cafedevn
#Contact: 
#Fanpage: https://www.facebook.com/cafedevn
#Instagram: https://instagram.com/cafedevn
#Twitter: https://twitter.com/CafedeVn
#Linkedin: https://www.linkedin.com/in/cafe-dev-407054199/
# -----------------------------------------------------------

# Python Program to Access 
# characters of String 
  
String1 = "Cafedev.vn"
print("Initial String: ") 
print(String1) 
  
# Printing First character 
print("\nFirst character of String is: ") 
print(String1[0]) 
  
# Printing Last character 
print("\nLast character of String is: ") 
print(String1[-1]) 

Kết quả:

Initial String: 
Cafedev.vn

First character of String is: 
C

Last character of String is: 
n

Để truy cập vào một loạt các ký tự trong String, phương pháp cắt được sử dụng. Cắt trong String được thực hiện bằng cách sử dụng toán tử Cắt (dấu hai chấm).

# -----------------------------------------------------------
#Cafedev.vn - Kênh thông tin IT hàng đầu Việt Nam
#@author cafedevn
#Contact: 
#Fanpage: https://www.facebook.com/cafedevn
#Instagram: https://instagram.com/cafedevn
#Twitter: https://twitter.com/CafedeVn
#Linkedin: https://www.linkedin.com/in/cafe-dev-407054199/
# -----------------------------------------------------------

# Python Program to 
# demonstrate String slicing 
  
# Creating a String 
String1 = "Cafedev.vnCafedev"
print("Initial String: ")  
print(String1) 
  
# Printing 3rd to 12th character 
print("\nSlicing characters from 3-12: ") 
print(String1[3:12]) 
  
# Printing characters between  
# 3rd and 2nd last character 
print("\nSlicing characters between " +
    "3rd and 2nd last character: ") 
print(String1[3:-2]) 

Kết quả:

Initial String: 
Cafedev.vnCafedev

Slicing characters from 3-12: 
edev.vnCafed

Slicing characters between 3rd and 2nd last character: 
dev.vnC

3. Xóa / Cập nhật từ một String

Trong Python, không được phép cập nhật hoặc xóa các ký tự khỏi String. Điều này sẽ gây ra lỗi vì việc gán mục hoặc xóa mục khỏi String không được hỗ trợ mặc dù có thể xóa toàn bộ String với việc sử dụng từ khóa del được tích hợp. Điều này là do String không thay đổi, do đó các thành phần của String không thể thay đổi sau khi được gán. Chỉ các string mới có thể được gán lại cho cùng một tên.

3.1 Cập nhật ký tự:


# Python Program to Update 
# character of a String 
  
String1 = "Hello, I'm a Geek"
print("Initial String: ") 
print(String1) 
  
# Updating a character  
# of the String 
String1[2] = 'p'
print("\nUpdating character at 2nd Index: ") 
print(String1) 

Lỗi:

Traceback (most recent call last):
File “/home/360bb1830c83a918fc78aa8979195653.py”, line 10, in
String1[2] = ‘p’
TypeError: ‘str’ object does not support item assignment

3.2 Cập nhật toàn bộ string:

# -----------------------------------------------------------
#Cafedev.vn - Kênh thông tin IT hàng đầu Việt Nam
#@author cafedevn
#Contact: 
#Fanpage: https://www.facebook.com/cafedevn
#Instagram: https://instagram.com/cafedevn
#Twitter: https://twitter.com/CafedeVn
#Linkedin: https://www.linkedin.com/in/cafe-dev-407054199/
# -----------------------------------------------------------


# Python Program to Update 
# entire String 
  
String1 = "Hello, I'm a Cafedev"
print("Initial String: ") 
print(String1) 
  
# Updating a String 
String1 = "Welcome to the Cafedev World"
print("\nUpdated String: ") 
print(String1) 

Kết quả:

Initial String: 
Hello, I'm a Cafedev

Updated String: 
Welcome to the Cafedev World

3.3 Xóa một ký tự:


# Python Program to Delete 
# characters from a String 
  
String1 = "Hello, I'm a Cafedev"
print("Initial String: ") 
print(String1) 
  
# Deleting a character  
# of the String 
del String1[2]  
print("\nDeleting character at 2nd Index: ") 
print(String1) 

Lỗi:

Traceback (most recent call last):
File “/home/499e96a61e19944e7e45b7a6e1276742.py”, line 10, in
del String1[2]
TypeError: ‘str’ object doesn’t support item deletion

3.4 Xóa toàn bộ string:

Có thể xóa toàn bộ string với việc sử dụng từ khóa del. Hơn nữa, nếu chúng ta cố gắng in string, điều này sẽ gây ra lỗi vì String bị xóa và không có sẵn để in.

# -----------------------------------------------------------
#Cafedev.vn - Kênh thông tin IT hàng đầu Việt Nam
#@author cafedevn
#Contact: 
#Fanpage: https://www.facebook.com/cafedevn
#Instagram: https://instagram.com/cafedevn
#Twitter: https://twitter.com/CafedeVn
#Linkedin: https://www.linkedin.com/in/cafe-dev-407054199/
# -----------------------------------------------------------


# Python Program to Delete 
# entire String 
  
String1 = "Hello, I'm a Cafedev"
print("Initial String: ") 
print(String1) 
  
# Deleting a String 
# with the use of del 
del String1  
print("\nDeleting entire String: ") 
print(String1) 

Lỗi:

Traceback (most recent call last):
File “/home/e4b8f2170f140da99d2fe57d9d8c6a94.py”, line 12, in
print(String1)
NameError: name ‘String1’ is not defined

4. Trình tự thoát trong Python

Trong khi việc in String giữa dấu ngoặc đơn và dấu ngoặc kép gây ra lỗi SyntaxError vì String đã có sẵn Dấu ngoặc đơn và Dấu ngoặc kép và do đó không thể được in bằng cách sử dụng một trong hai. Vì vậy, để in một String như vậy, ta có thể sử dụng 3 dấu ngoặc hoặc các Escape Sequence.
Escape Sequence bắt đầu bằng dấu gạch chéo ngược và có thể được thông dịch một cách khác nhau. Nếu dấu ngoặc đơn được sử dụng để thể hiện một string, thì tất cả các dấu ngoặc đơn có trong string phải được thoát và tương tự được thực hiện cho Dấu ngoặc kép.

# -----------------------------------------------------------
#Cafedev.vn - Kênh thông tin IT hàng đầu Việt Nam
#@author cafedevn
#Contact: 
#Fanpage: https://www.facebook.com/cafedevn
#Instagram: https://instagram.com/cafedevn
#Twitter: https://twitter.com/CafedeVn
#Linkedin: https://www.linkedin.com/in/cafe-dev-407054199/
# -----------------------------------------------------------


# Python Program for 
# Escape Sequencing  
# of String 
  
# Initial String 
String1 = '''I'm a "Cafedev"'''
print("Initial String with use of Triple Quotes: ") 
print(String1) 
  
# Escaping Single Quote  
String1 = 'I\'m a "Cafedev"'
print("\nEscaping Single Quote: ") 
print(String1) 
  
# Escaping Doule Quotes 
String1 = "I'm a \"Cafedev\""
print("\nEscaping Double Quotes: ") 
print(String1) 
  
# Printing Paths with the  
# use of Escape Sequences 
String1 = "C:\\Python\\Cafedev\\"
print("\nEscaping Backslashes: ") 
print(String1) 

Kết quả:

Initial String with use of Triple Quotes: 
I'm a "Cafedev"

Escaping Single Quote: 
I'm a "Cafedev"

Escaping Double Quotes: 
I'm a "Cafedev"

Escaping Backslashes: 
C:\Python\Cafedev\

Để bỏ qua các escape sequence trong String, r hoặc R được sử dụng, điều này ngụ ý rằng string là một string thô và các Escape sequence bên trong nó sẽ bị bỏ qua.



# Printing Cafedev in HEX 
String1 = "This is \x47\x65\x65\x6b\x73 in \x48\x45\x58"
print("\nPrinting in HEX with the use of Escape Sequences: ") 
print(String1) 
  
# Using raw String to  
# ignore Escape Sequences 
String1 = r"This is \x47\x65\x65\x6b\x73 in \x48\x45\x58"
print("\nPrinting Raw String in HEX Format: ") 
print(String1) 

Kết quả:

Printing in HEX with the use of Escape Sequences: 
This is Cafedev in HEX

Printing Raw String in HEX Format: 
This is \x47\x65\x65\x6b\x73 in \x48\x45\x58

5. Định dạng của string

Các string trong Python có thể được định dạng bằng cách sử dụng phương thức format(), một công cụ rất linh hoạt và mạnh mẽ để định dạng các String. Phương thức định dạng trong String chứa dấu ngoặc nhọn {} dưới dạng giữ chỗ có thể giữ các đối số theo vị trí hoặc từ khóa để chỉ định thứ tự.

# -----------------------------------------------------------
#Cafedev.vn - Kênh thông tin IT hàng đầu Việt Nam
#@author cafedevn
#Contact: 
#Fanpage: https://www.facebook.com/cafedevn
#Instagram: https://instagram.com/cafedevn
#Twitter: https://twitter.com/CafedeVn
#Linkedin: https://www.linkedin.com/in/cafe-dev-407054199/
# -----------------------------------------------------------


# Python Program for 
# Formatting of Strings 
  
# Default order 
String1 = "{} {} {}".format('Cafedev', 'For', 'Life') 
print("Print String in default order: ") 
print(String1) 
  
# Positional Formatting 
String1 = "{1} {0} {2}".format('Cafedev', 'For', 'Life') 
print("\nPrint String in Positional order: ") 
print(String1) 
  
# Keyword Formatting 
String1 = "{l} {f} {g}".format(g = 'Cafedev', f = 'For', l = 'Life') 
print("\nPrint String in order of Keywords: ") 
print(String1) 

Kết quả:

Print String in default order: 
Cafedev For Life

Print String in Positional order: 
For Cafedev Life

Print String in order of Keywords: 
Life For Cafedev

Các số nguyên như nhị phân, thập lục phân, v.v. và số thực có thể được làm tròn hoặc hiển thị ở dạng số mũ với việc sử dụng các chỉ định định dạng.


# Formatting of Integers 
String1 = "{0:b}".format(16) 
print("\nBinary representation of 16 is ") 
print(String1) 
  
# Formatting of Floats 
String1 = "{0:e}".format(165.6458) 
print("\nExponent representation of 165.6458 is ") 
print(String1) 
  
# Rounding off Integers 
String1 = "{0:.2f}".format(1/6) 
print("\none-sixth is : ") 
print(String1) 

Kết quả:

Binary representation of 16 is 
10000

Exponent representation of 165.6458 is 
1.656458e+02

one-sixth is : 
0.17

Một string có thể là left() hoặc center(^) được chứng minh bằng việc sử dụng các chỉ định định dạng, được phân tách bằng dấu hai chấm(:).


# String alignment 
String1 = "|{:<10}|{:^10}|{:>10}|".format('Cafedev','for','Cafedev') 
print("\nLeft, center and right alignment with Formatting: ") 
print(String1) 
  
# To demonstrate aligning of spaces  
String1 = "\n{0:^16} was founded in {1:<4}!".format("CafedevforCafedev", 2009) 
print(String1) 

Kết quả:

Left, center and right alignment with Formatting: 
|Cafedev     |   for    |     Cafedev|

 CafedevforCafedev   was founded in 2009 !

Định dạng kiểu cũ đã được thực hiện mà không sử dụng phương thức định dạng bằng cách sử dụng toán tử %


# Python Program for 
# Old Style Formatting 
# of Integers 
  
Integer1 = 12.3456789
print("Formatting in 3.2f format: ") 
print('The value of Integer1 is %3.2f' %Integer1) 
print("\nFormatting in 3.4f format: ") 
print('The value of Integer1 is %3.4f' %Integer1) 

Kết quả:

Formatting in 3.2f format: 
The value of Integer1 is 12.35

Formatting in 3.4f format: 
The value of Integer1 is 12.3457

6. Hằng số string

CHỨC NĂNG TÍCH HỢP. MÔ TẢ
string.ascii_letters Ghép các hằng số ascii_lowercase và ascii_uppercase.
string.ascii_lowercase Ghép chữ thường
string.ascii_uppercase Ghép chữ hoa
string.digits Chữ số trong string
string.hexdigits Hexadigit trong string
string.letters Ghép string chữ thường và chữ hoa
string.lowercase Một string phải chứa các chữ cái viết thường.
string.octdigits Số thập phân trong một string
string. Ký tự ASCII có ký tự dấu chấm câu.
string.printable String ký tự có thể in được
String.endswith() Trả về True nếu một string kết thúc bằng hậu tố đã cho, nếu không trả về False
String.startswith () Trả về True nếu một string bắt đầu bằng tiền tố đã cho, nếu không trả về False
String.isdigit() Trả về True nếu tất cả các ký tự trong string là chữ số, nếu không, nó trả về False.
String.isalpha() Trả về True nếu tất cả các ký tự trong string là bảng chữ cái, nếu không, nó trả về False.
string.isdecimal() Trả về true nếu tất cả các ký tự trong string là số thập phân.
str.format() Mộtr trong các phương thức định dạng string trong Python 3, cho phép nhiều định dạng thay thế và định dạng giá trị.
String.index Trả về vị trí xuất hiện đầu tiên của string con trong string
string.uppercase Một string phải chứa các chữ cái viết hoa.
String.whitespace() Một string chứa tất cả các ký tự được coi là khoảng trắng.
string.swapcase() Phương thức chuyển đổi tất cả các ký tự chữ hoa thành chữ thường và ngược lại của string đã cho và trả về nó
replace() Trả về một bản sao của string trong đó tất cả các lần xuất hiện của một string con được thay thế bằng một string con khác.

7. Hàm không dùng nữa

CHỨC NĂNG TÍCH HỢP MÔ TẢ
string.Isdecimal Trả về true nếu tất cả các ký tự trong string là số thập phân
String.Isalnum Trả về true nếu tất cả các ký tự trong một string đã cho là chữ và số.
string.Istitle Trả về Đúng nếu string là một string được chuẩn độ
String.partition Tách string ở lần xuất hiện đầu tiên của dấu phân cách và trả về một tuple.
String.Isidentifier Kiểm tra xem một string có phải là một định danh hợp lệ hay không.
String.len Trả về độ dài của string.
String.rindex Trả về chỉ mục cao nhất của string con bên trong string nếu tìm thấy string con.
String.Max Trả về ký tự chữ cái cao nhất trong một string.
String.min Trả về ký tự chữ cái tối thiểu trong một string.
String.splitlines Trả về một danh sách các dòng trong string.
string.capitalize Trả lại một từ với ký tự đầu tiên viết hoa.
string.Exandtabs Mở rộng các tab trong một string thay thế chúng bằng một hoặc nhiều khoảng trắng
string.find Trả về indexin thấp nhất một string con.
string.rfind Tìm chỉ số cao nhất.
string.count Trả về số lần xuất hiện (không chồng lấp) của string con phụ trong string
string.lower Trả về một bản sao của s, nhưng với chữ in hoa được chuyển thành chữ thường.
string.split Trả về danh sách các từ của string, Nếu sep đối số thứ hai tùy chọn không có hoặc Không có
string.rsplit() Trả về danh sách các từ của string s, quét s từ cuối.
rpartition() Phương thức chia string đã cho thành ba phần
string.splitfields Trả về danh sách các từ của string khi chỉ được sử dụng với hai đối số.
string.join Nối một danh sách hoặc một bộ các từ với sự xuất hiện của sep.
string.strip() Nó trả về một bản sao của string với cả hai ký tự đầu và cuối được loại bỏ
string.lstrip Trả về một bản sao của string với các ký tự hàng đầu bị loại bỏ.
string.rstrip Trả về một bản sao của string với các ký tự dấu được loại bỏ.
string.swapcase Chuyển đổi chữ in thường thành chữ in hoa và ngược lại.
string.transTable Dịch các ký tự bằng bảng
string.upper chữ thường được chuyển thành chữ hoa
string.ljust trái chứng minh trong một lĩnh vực có chiều rộng nhất định.
string.rjust Phải chứng minh trong một lĩnh vực có chiều rộng nhất định.
string.center() Trung tâm biện minh trong một lĩnh vực có chiều rộng nhất định.
string-zfill Pad một string số ở bên trái với các chữ số 0 cho đến khi đạt được chiều rộng cho trước.
string.replace Trả về một bản sao của string s với tất cả các lần xuất hiện của string con cũ được thay thế bằng mới.
string.casefold() Trả về string bằng chữ thường có thể được sử dụng để so sánh ngẫu nhiên.
string.encode Mã hóa string thành bất kỳ mã hóa nào được hỗ trợ bởi mã hóa Python.Default là utf-8.
string.maketrans Trả về bảng dịch có thể sử dụng cho str.translate ()

Nguồn và Tài liệu tiếng anh tham khảo:

  • w3school
  • python.org
  • geeksforgeeks

Tài liệu từ cafedev:

  • Full series tự học Python từ cơ bản tới nâng cao tại đây nha.
  • Ebook về python tại đây.
  • Các series tự học lập trình khác

Nếu bạn thấy hay và hữu ích, bạn có thể tham gia các kênh sau của cafedev để nhận được nhiều hơn nữa:

  • Group Facebook
  • Fanpage
  • Youtube
  • Instagram
  • Twitter
  • Linkedin
  • Pinterest
  • Trang chủ

Chào thân ái và quyết thắng!

Đăng ký kênh youtube để ủng hộ Cafedev nha các bạn, Thanks you!