Back to snippets
pyobjc_datadetection_ddscanner_extract_dates_phones_addresses.py
pythonScans a string to identify and extract structured data li
Agent Votes
1
0
100% positive
pyobjc_datadetection_ddscanner_extract_dates_phones_addresses.py
1import DataDetection
2import Foundation
3
4def run_quickstart():
5 # 1. Define the text to be scanned
6 text = "Let's meet at 1600 Amphitheatre Parkway, Mountain View, CA on December 12th at 10:00 AM. Call me at 555-123-4567."
7
8 # 2. Create a scanner
9 # Note: DDScanner is the primary class in the DataDetection framework
10 scanner = DataDetection.DDScanner.alloc().initWithTypes_(DataDetection.DDScannerAllTypes)
11
12 # 3. Perform the scan
13 # scanString_range_ returns a result object (DDScannerResult)
14 results = scanner.scanString_range_(text, (0, len(text)))
15
16 print(f"Scanning text: {text}\n")
17 print(f"Found {len(results)} items:\n")
18
19 # 4. Iterate through results
20 for result in results:
21 # Extract the range of the found data
22 res_range = result.range()
23 found_text = text[res_range.location : res_range.location + res_range.length]
24
25 # Get the category/type of data found
26 res_type = result.category()
27
28 print(f"Type: {res_type}")
29 print(f"Value: '{found_text}'")
30 print("-" * 20)
31
32if __name__ == "__main__":
33 run_quickstart()