38+ Premium Malls - Explore All
Elemis London at Orchard Road
Elemis London
1 / 9
Elemis London
Main Image
Elemis London
Image 2
Elemis London
Image 3
Elemis London
Image 4
Elemis London
Image 5
Elemis London
Image 6
Elemis London
Image 7
Elemis London
Image 8
Elemis London
Image 9

Elemis London

health Facial Spas

Location: ```python import re def parse_mall_location(address): level = None unit = None tower = None # Convert to lowercase for case-insensitive matching address_lower = address.lower() # 1. Extract Tower information # Pattern: "Tower 3", "Tower A" tower_match = re.search(r'(tower\s+\d+|tower\s+[a-z])', address_lower) if tower_match: tower = tower_match.group(1).title() # Capitalize "Tower" and the number/letter (e.g., "Tower 3", "Tower A") # 2. Extract Level number (explicit "Level X" pattern) # Pattern: "Level 2", "Level B1", "Level G" # Level indicators: B (Basement), L (Level), G (Ground), UG (Upper Ground), LG (Lower Ground), M (Mezzanine), P (Parking) level_explicit_match = re.search(r'level\s+([blgum]\d*|\d+)', address_lower) if level_explicit_match: extracted_level = level_explicit_match.group(1) if extracted_level.isdigit(): level = str(int(extracted_level)) # Normalize "02" to "2" else: level = extracted_level.upper() # Normalize "b1" to "B1", "g" to "G" # 3. Extract Unit number (complex format like #B1-16/16A or #02-42) # This pattern also implies a level, so we can derive it if not already found. # Pattern: #B1-16/16A, B1-16/16A, #02-42, 02-42, Unit #02-42 # The first group captures the full unit string (e.g., "B1-16/16A") unit_complex_match = re.search(r'(?:#|\bunit\s+#?)?(([blgum]\d*|\d+)-\d+[a-z]?(?:/\d+[a-z]?)?)', address_lower) if unit_complex_match: unit_str = unit_complex_match.group(1) # e.g., "b1-16/16a" unit = "#" + unit_str.upper() # Ensure B1, A, etc. are capitalized in unit string (e.g., #B1-16/16A) # Derive level from unit string if not already explicitly found if level is None: derived_level = unit_str.split('-')[0] if derived_level.isdigit(): level = str(int(derived_level)) else: level = derived_level.upper() # 4. Extract Unit number (simple format like #42) # Only if unit hasn't been found by the complex pattern if unit is None: # Pattern: #42, Unit #42, #123A unit_simple_match = re.search(r'(?:#|\bunit\s+#?)(\d+[a-z]?(?:/\d+[a-z]?)?)', address_lower) if unit_simple_match: unit = "#" + unit_simple_match.group(1).upper() # Capitalize any letters in unit (e.g., #123A) # Construct the output string based on available information parts = [] if level: parts.append(f"Level {level}") if unit: parts.append(f"Unit Number {unit}") result = "" if parts: result = ", ".join(parts) if tower: if result: result += f", {tower}" else: result = tower # If only tower is found if not result: return "Location Unknown" else: return result # Example usage with the provided address: address = "2 Orchard Turn, B1-16/16A, Singapore 238801" parsed_location = parse_mall_location(address) print(parsed_location) ```

Discover the transformative power of British skincare at ELEMIS London's ION Orchard boutique, where award-winning formulations meet personalised beauty experiences. As one of the UK's most prestigious skincare brands, ELEMIS has been at the forefront of innovation since 1990, combining cutting-edge scientific research with premium natural ingredients to create products that deliver visible results. The newly relocated store at #B1-16/16A offers Singaporean beauty enthusiasts an immersive journey into the world of professional-grade skincare, with expert consultants ready to guide you through their extensive range of cult favourites and breakthrough formulations.

What sets ELEMIS apart is its commitment to creating products that combine the best of nature and science, from their iconic Pro-Collagen collection that targets visible signs of ageing to their dynamic resurfacing treatments that reveal smoother, more radiant skin. As the official skincare partner of the Aston Martin Aramco Formula One™ Team, the brand embodies precision, excellence, and performance – qualities that are reflected in every meticulously formulated product. The boutique offers more than just retail; it provides comprehensive skin analysis, personalised consultations, and hands-on treatments that allow customers to experience the efficacy of the products before making a commitment.

Located in the bustling heart of ION Orchard, Singapore's premier luxury shopping destination, the ELEMIS boutique serves as a sanctuary for skincare devotees and newcomers alike. Throughout the year, the store hosts exclusive events, pop-up experiences, and special promotions that give customers access to limited-edition products, complimentary skincare kits, and professional treatments typically reserved for high-end spas. Whether you're looking to address specific skin concerns or simply indulge in some self-care, ELEMIS London at ION Orchard promises an unparalleled skincare experience that combines British elegance with cutting-edge innovation.
6509 4234
```python import re def parse_mall_location(address): level = None unit = None tower = None # Convert to lowercase for case-insensitive matching address_lower = address.lower() # 1. Extract Tower information # Pattern: "Tower 3", "Tower A" tower_match = re.search(r'(tower\s+\d+|tower\s+[a-z])', address_lower) if tower_match: tower = tower_match.group(1).title() # Capitalize "Tower" and the number/letter (e.g., "Tower 3", "Tower A") # 2. Extract Level number (explicit "Level X" pattern) # Pattern: "Level 2", "Level B1", "Level G" # Level indicators: B (Basement), L (Level), G (Ground), UG (Upper Ground), LG (Lower Ground), M (Mezzanine), P (Parking) level_explicit_match = re.search(r'level\s+([blgum]\d*|\d+)', address_lower) if level_explicit_match: extracted_level = level_explicit_match.group(1) if extracted_level.isdigit(): level = str(int(extracted_level)) # Normalize "02" to "2" else: level = extracted_level.upper() # Normalize "b1" to "B1", "g" to "G" # 3. Extract Unit number (complex format like #B1-16/16A or #02-42) # This pattern also implies a level, so we can derive it if not already found. # Pattern: #B1-16/16A, B1-16/16A, #02-42, 02-42, Unit #02-42 # The first group captures the full unit string (e.g., "B1-16/16A") unit_complex_match = re.search(r'(?:#|\bunit\s+#?)?(([blgum]\d*|\d+)-\d+[a-z]?(?:/\d+[a-z]?)?)', address_lower) if unit_complex_match: unit_str = unit_complex_match.group(1) # e.g., "b1-16/16a" unit = "#" + unit_str.upper() # Ensure B1, A, etc. are capitalized in unit string (e.g., #B1-16/16A) # Derive level from unit string if not already explicitly found if level is None: derived_level = unit_str.split('-')[0] if derived_level.isdigit(): level = str(int(derived_level)) else: level = derived_level.upper() # 4. Extract Unit number (simple format like #42) # Only if unit hasn't been found by the complex pattern if unit is None: # Pattern: #42, Unit #42, #123A unit_simple_match = re.search(r'(?:#|\bunit\s+#?)(\d+[a-z]?(?:/\d+[a-z]?)?)', address_lower) if unit_simple_match: unit = "#" + unit_simple_match.group(1).upper() # Capitalize any letters in unit (e.g., #123A) # Construct the output string based on available information parts = [] if level: parts.append(f"Level {level}") if unit: parts.append(f"Unit Number {unit}") result = "" if parts: result = ", ".join(parts) if tower: if result: result += f", {tower}" else: result = tower # If only tower is found if not result: return "Location Unknown" else: return result # Example usage with the provided address: address = "2 Orchard Turn, B1-16/16A, Singapore 238801" parsed_location = parse_mall_location(address) print(parsed_location) ```

Operating Hours

Open Now
Closes in 6h 45m
Monday
10 am–10 pm
Tuesday
10 am–10 pm
Wednesday
10 am–10 pm
Thursday
10 am–10 pm
Friday
10 am–10 pm
Saturday (Today)
10 am–10 pm
Sunday
10 am–10 pm