Đầu tiên tôi sẽ trích xuất tên tệp. Tôi đã chia nó từ phần mở rộng. Bạn có thể đi theo cách dễ dàng bằng cách làm:
path = "Planning_Group_20180108.ind"
filename, ext = path.split["."]
Nó giả định rằng đường dẫn thực sự chỉ là một tên tệp và phần mở rộng. Nếu tôi muốn giữ an toàn và độc lập nền tảng, tôi sẽ sử dụng mô -đun HĐH cho điều đó:path is actually only a filename and extension. If I'd want to stay safe and platform independent, I'd use os module for that:
fullpath = "this/could/be/a/full/path/Planning_Group_20180108.ind"
path, filename = os.path.split[fullpath]
Và sau đó trích xuất "gốc" và mở rộng:
root, ext = os.path.splitext[filename]
Điều đó sẽ để lại cho tôi với kế hoạch_group_20180108 dưới dạng gốc. Để loại bỏ "_20180108" Chúng ta cần phân tách chuỗi theo dấu phân cách "_", đi từ đầu bên phải và chỉ làm nó một lần. Tôi sẽ sử dụng phương thức chuỗi.Planning_Group_20180108 as root. To discard "_20180108" we need to split string by "_" delimiter, going from the right end, and do it only once. I would use .rsplit[] method of string, which lets me specify delimiter, and number of times I want to make splits.
what_i_want, the_rest = root.rsplit["_", 1]
what_i_want phải chứa bên trái của kế hoạch_group_20180108 cắt thay cho "_" đầu tiên từ bên phải, vì vậy nó phải là lập kế hoạch_group should contain left side of Planning_Group_20180108 cut in place of first "_" counting from right side, so it should be Planning_Group
Cách viết nhỏ gọn hơn, nhưng không dễ đọc, sẽ là:
what_i_want = os.path.splitext[os.path.split["/my/path/to/Planning_Group_20180108.ind"][1]][0].rsplit["_", 1]
PS. Bạn có thể bỏ qua phần với trích xuất gốc và phần mở rộng nếu bạn chắc chắn, phần mở rộng đó sẽ không chứa dấu gạch dưới. Nếu bạn không chắc chắn về điều đó, bước này sẽ là cần thiết. Ngoài ra, bạn cần phải nghĩ về trường hợp với nhiều tiện ích mở rộng, như /path/to/file/which_has_a.lot.of.periods.and_extents. Trong trường hợp đó, bạn có muốn nhận được what_has_a.lot.of.periods.and hoặc what_has? Hãy nghĩ về nó trong khi lập kế hoạch ứng dụng của bạn. Nếu bạn cần sau này, bạn có thể muốn trích xuất root bằng cách thực hiện fileName.split [".", 1] thay vì sử dụng os.path.splitext []/path/to/file/which_has_a.lot.of.periods.and_extentions. In that case would you like to get which_has_a.lot.of.periods.and, or which_has? Think of it while planning your app. If you need latter, you may want to extract root by doing filename.split[".", 1] instead of using os.path.splitext[]
reference:
os.path.split[path],
os.path.splitext[path]
str.rsplit [sep = none, maxsplit = -1]
Nội dung
- Giới thiệu
- Ví dụ 1: Chuỗi phân chia theo dấu gạch dưới
- Ví dụ 2: Chia chuỗi phân chia theo một hoặc nhiều dấu gạch dưới
- Bản tóm tắt
Bạn có thể chia một chuỗi trong python bằng phương thức String.split [].
Trong hướng dẫn này, chúng tôi sẽ tìm hiểu cách phân chia một chuỗi bằng cách nhấn mạnh
root, ext = os.path.splitext[filename]
8 trong Python bằng các phương thức String.Split [] và Re.Split [].String.split[] and re.split[] methods.Tham khảo Chuỗi phân chia Python để biết Cú pháp và cách sử dụng cơ bản của phương thức String.Split [].
Ví dụ 1: Chuỗi phân chia theo dấu gạch dưới
Trong ví dụ này, chúng tôi sẽ lấy một chuỗi với các mục/từ được phân tách bằng ký tự dấu gạch dưới
root, ext = os.path.splitext[filename]
8, chia chuỗi và lưu trữ các mục trong danh sách.Chương trình Python
str = '52_841_63_24_76_49'
#split string by _
items = str.split['_']
print[items]
Chạy
Đầu ra
['52', '841', '63', '24', '76', '49']
Ví dụ 2: Chia chuỗi phân chia theo một hoặc nhiều dấu gạch dưới
Trong ví dụ này, chúng tôi sẽ lấy một chuỗi với các mục/từ được phân tách bởi một hoặc nhiều ký tự dấu gạch dưới, chia chuỗi và lưu trữ các mục trong danh sách.
Chúng tôi sẽ sử dụng gói Python
what_i_want, the_rest = root.rsplit["_", 1]
0 trong chương trình sau. what_i_want, the_rest = root.rsplit["_", 1]
1 Trả về danh sách các mục được phân chia từ what_i_want, the_rest = root.rsplit["_", 1]
2 dựa trên what_i_want, the_rest = root.rsplit["_", 1]
3.Chương trình Python
import re
str = '52_841__63____24_76______49'
#split string by _
items = re.split['_+', str]
print[items]
Chạy
Đầu ra
Đầu ra
['52', '841', '63', '24', '76', '49']
Ví dụ 2: Chia chuỗi phân chia theo một hoặc nhiều dấu gạch dưới
Trong ví dụ này, chúng tôi sẽ lấy một chuỗi với các mục/từ được phân tách bởi một hoặc nhiều ký tự dấu gạch dưới, chia chuỗi và lưu trữ các mục trong danh sách.
Chúng tôi sẽ sử dụng gói Python
what_i_want, the_rest = root.rsplit["_", 1]
0 trong chương trình sau. what_i_want, the_rest = root.rsplit["_", 1]
1 Trả về danh sách các mục được phân chia từ what_i_want, the_rest = root.rsplit["_", 1]
2 dựa trên what_i_want, the_rest = root.rsplit["_", 1]
3.Biểu thức chính quy what_i_want, the_rest = root.rsplit["_", 1]
4 đại diện cho một hoặc nhiều dấu gạch dưới. Vì vậy, một hoặc nhiều dấu gạch dưới được coi là một dấu phân cách.
what_i_want, the_rest = root.rsplit["_", 1]
- Một quặng tiếp giáp hơn được coi là một dấu phân cách duy nhất.
- Bản tóm tắt
- Trong hướng dẫn này về các ví dụ Python, chúng tôi đã học cách phân chia một chuỗi bằng cách nhấn mạnh bằng các phương thức String.Split [] và Re.Split [].
- Hướng dẫn liên quan
- Chuỗi phân chia Python thành các khối chiều dài cụ thể
Điều sau đây sẽ làm việc cho bạns = "Planning_Group_20180108.ind"
'_'.join[s.split['_'][: -1]]
Đầu tiên tôi sẽ trích xuất tên tệp. Tôi đã chia nó từ phần mở rộng. Bạn có thể đi theo cách dễ dàng bằng cách làm:
fullpath = "this/could/be/a/full/path/Planning_Group_20180108.ind"
path, filename = os.path.split[fullpath]
0Nó giả định rằng đường dẫn thực sự chỉ là một tên tệp và phần mở rộng. Nếu tôi muốn giữ an toàn và độc lập nền tảng, tôi sẽ sử dụng mô -đun HĐH cho điều đó:path is actually only a filename and extension. If I'd want to stay safe and platform independent, I'd use os module for that:
fullpath = "this/could/be/a/full/path/Planning_Group_20180108.ind"
path, filename = os.path.split[fullpath]
1Và sau đó trích xuất "gốc" và mở rộng:
fullpath = "this/could/be/a/full/path/Planning_Group_20180108.ind"
path, filename = os.path.split[fullpath]
2fullpath = "this/could/be/a/full/path/Planning_Group_20180108.ind"
path, filename = os.path.split[fullpath]
3Bạn có thể sử dụng
what_i_want, the_rest = root.rsplit["_", 1]
0:fullpath = "this/could/be/a/full/path/Planning_Group_20180108.ind"
path, filename = os.path.split[fullpath]
4Output:
fullpath = "this/could/be/a/full/path/Planning_Group_20180108.ind"
path, filename = os.path.split[fullpath]
5Sử dụng regex ở đây là khá pythonic.
fullpath = "this/could/be/a/full/path/Planning_Group_20180108.ind"
path, filename = os.path.split[fullpath]
6Gợi ý: 2
Trong hướng dẫn này về các ví dụ Python, chúng tôi đã học cách phân chia một chuỗi bằng cách nhấn mạnh bằng các phương thức String.split [] và Re.Split []., Trong hướng dẫn này, chúng tôi sẽ tìm hiểu cách phân chia một chuỗi bằng cách nhấn mạnh .Split [] và re.split []., Trong ví dụ này, chúng ta sẽ lấy một chuỗi với các mục/từ được phân tách bởi một hoặc nhiều ký tự dấu gạch dưới, chia chuỗi và lưu trữ các mục trong danh sách. Chúng tôi sẽ lấy một chuỗi với các mục/từ được phân tách bằng ký tự gạch dưới _, chia chuỗi và lưu trữ các mục trong danh sách.
Chương trình Python
fullpath = "this/could/be/a/full/path/Planning_Group_20180108.ind"
path, filename = os.path.split[fullpath]
7Đầu ra
fullpath = "this/could/be/a/full/path/Planning_Group_20180108.ind"
path, filename = os.path.split[fullpath]
8Gợi ý: 3
Bạn có thể sử dụng chức năng phân chia chuỗi python [] để chia một chuỗi [bằng dấu phân cách] thành một danh sách các chuỗi. Để phân chia một chuỗi bằng cách nhấn mạnh trong Python, hãy vượt qua ký tự "_" dưới dạng dấu phân cách cho hàm chia []. Trong Python với sự trợ giúp của các ví dụ., Ở đây, chúng tôi vượt qua nhấn mạnh làm dấu phân cách cho hàm chia chuỗi []., Bạn cũng có thể chỉ định số lượng phân tách tối đa được thực hiện bằng tham số MaxSplit. Theo mặc định, hàm chia chuỗi [] làm cho tất cả các chia tách có thể.
Sau đây là cú pháp -
fullpath = "this/could/be/a/full/path/Planning_Group_20180108.ind"
path, filename = os.path.split[fullpath]
9Ở đây, chúng tôi vượt qua nhấn mạnh như là dấu phân cách cho hàm
what_i_want, the_rest = root.rsplit["_", 1]
6.root, ext = os.path.splitext[filename]
0Output:
root, ext = os.path.splitext[filename]
1Gợi ý: 4
Để phân chia một chuỗi bằng cách nhấn mạnh trong Python, hãy truyền ký tự "_" dưới dạng dấu phân cách cho hàm chia []. Nó trả về một danh sách các chuỗi do phân tách chuỗi ban đầu về các lần xuất hiện của "_". Hãy cùng nhìn vào một số ví dụ. Ở đây, chúng tôi vượt qua nhấn mạnh như là dấu phân cách cho hàm chia [] chuỗi. , 2 ngày trước ngày 25 tháng 4 năm 2022 & nbsp; · Cú pháp là: .Split [SEP, MAXSplit] trong cú pháp trên: là bất kỳ chuỗi Python hợp lệ nào, SEP là bộ phân cách mà bạn muốn chia. Trong ví dụ này, chúng tôi sẽ lấy một chuỗi với các mục/từ được phân tách bởi một hoặc nhiều ký tự dấu gạch dưới, chia chuỗi và lưu trữ các mục trong danh sách. lại. , 1 tuần trước, bạn có thể sử dụng hàm phân chia chuỗi python [] để chia một chuỗi [bằng dấu phân cách] thành một danh sách các chuỗi. Để phân chia một chuỗi bằng cách nhấn mạnh trong Python, hãy truyền ký tự "_" dưới dạng dấu phân cách cho hàm chia []. Nó trả về một danh sách các chuỗi do phân tách chuỗi ban đầu về các lần xuất hiện của "_". , Hãy để chỉ chia chuỗi ở trên thành hai phần khi xảy ra dấu gạch dưới, "_" bắt đầu từ bên trái. Để chia chuỗi thành hai phần, MaxSplit nên là 1, bởi vì chúng tôi chỉ tạo một phần phân chia dẫn đến hai chuỗi. Bạn có thể thấy rằng danh sách kết quả chỉ có hai chuỗi.
root, ext = os.path.splitext[filename]
2root, ext = os.path.splitext[filename]
3root, ext = os.path.splitext[filename]
4root, ext = os.path.splitext[filename]
5root, ext = os.path.splitext[filename]
6root, ext = os.path.splitext[filename]
3