Recently, I got a requirement to check if a string contains a space in PowerShell. There are different methods to do so. In this tutorial, I will show you how to check if a string contains a space in PowerShell with examples.
To check if a string contains a space in PowerShell, you can use the -match operator with the regular expression pattern \s, which matches any whitespace character. For example, if you have a string $username = "John Doe", you can use the condition if ($username -match "\s") to determine if it contains a space.
Check if a String Contains a Space in PowerShell
PowerShell uses various methods to check if a string contains a space. Let me show you all the methods with examples.
Method 1: Using the -match Operator
The -match operator in PowerShell uses regular expressions to match patterns in strings. To check if a string contains a space, you can use the \s regex pattern, which matches any whitespace character, including spaces.
Let me show you an example.
Example: Validating Usernames
Suppose you are writing a script to validate usernames and want to ensure that usernames do not contain spaces.
$username = "John Doe"
if ($username -match "\s") {
Write-Output "The username contains a space."
} else {
Write-Output "The username is valid."
}In this example, the script checks if the $username variable contains a space and outputs a message accordingly.
The exact output is in the screenshot below. After I executed the PowerShell script using VS code,

Check out Check if a String Contains Only Numbers in PowerShell
Method 2: Using the Contains() Method
The Contains method is another way to check if a string contains a specific substring, including space in PowerShell. However, it is case-sensitive and does not support regular expressions.
Example: Processing File Paths
Imagine processing a list of file paths and needing to identify paths containing spaces.
$filePath = "C:\Program Files\MyApp\config.txt"
if ($filePath.Contains(" ")) {
Write-Output "The file path contains a space."
} else {
Write-Output "The file path does not contain a space."
}This example checks if the $filePath variable contains a space and outputs a message accordingly.
Here is the output in the screenshot below:

Method 3: Using the -like Operator
The -like operator in PowerShell supports wildcard pattern matching. To check for spaces, you can use the * wildcard to match any sequence of characters.
Example: Filtering Log Entries
Suppose you have a log file and want to filter entries that contain spaces.
$logEntry = "Error: Disk space low"
if ($logEntry -like "* *") {
Write-Output "The log entry contains a space."
} else {
Write-Output "The log entry does not contain a space."
}In this example, the script checks if the $logEntry variable contains a space and outputs a message accordingly.
Check out PowerShell -contains Operator
Method 4: Using the Split() Method
The Split method can be used to split a string into an array based on a delimiter in PowerShell. By splitting the string by spaces, you can determine if the original string contained any spaces.
Here is a real example.
Example: Parsing CSV Data
Consider a scenario in which you are parsing CSV data and need to check if any fields contain spaces. Here is the complete PowerShell script.
$csvField = "John,Doe,35,New York"
$fields = $csvField.Split(",")
foreach ($field in $fields) {
if ($field -match "\s") {
Write-Output "The field '$field' contains a space."
} else {
Write-Output "The field '$field' does not contain a space."
}
}This example splits the $csvField variable into an array of fields and checks each field for spaces.
Here is the output in the screenshot below:

Check out Check if a String Contains a Substring in PowerShell
Method 5: Using the IndexOf() Method
The IndexOf method returns the zero-based index of the first occurrence of a specified character in a string. If the character is not found, it returns -1. So, this is another way to check if a string contains a space in PowerShell.
Example: Validating Email Addresses
Suppose you validate email addresses and want to ensure they do not contain spaces.
$email = "john.doe@example.com"
if ($email.IndexOf(" ") -ne -1) {
Write-Output "The email address contains a space."
} else {
Write-Output "The email address is valid."
}In this example, the script checks if the $email variable contains a space and outputs a message accordingly.
You can see the exact output in the screenshot below:

Conclusion
In this tutorial, I explained how to check if a string contains a space in PowerShell using different methods like:
- Using the -match Operator
- Using the Contains() Method
- Using the -like Operator
- Using the Split() Method
- Using the IndexOf() Method
I have explained a few real examples of this, and I hope this tutorial will help you.
You may also like:
- Check if a String Contains Multiple Values in PowerShell
- Check if a String Contains Special Characters in PowerShell
- Check if a File Contains a String in PowerShell
Bijay Kumar is an esteemed author and the mind behind PowerShellFAQs.com, where he shares his extensive knowledge and expertise in PowerShell, with a particular focus on SharePoint projects. Recognized for his contributions to the tech community, Bijay has been honored with the prestigious Microsoft MVP award. With over 15 years of experience in the software industry, he has a rich professional background, having worked with industry giants such as HP and TCS. His insights and guidance have made him a respected figure in the world of software development and administration. Read more.