diff --git a/src/TokenOrTokensPreAlter.php b/src/TokenOrTokensPreAlter.php
index 3c118b9..b58abea 100644
--- a/src/TokenOrTokensPreAlter.php
+++ b/src/TokenOrTokensPreAlter.php
@@ -44,11 +44,12 @@ class TokenOrTokensPreAlter {
 
     foreach (reset($matches) as $match) {
       if (strpos($match, '|') !== FALSE) {
+        $enclosures = ['"', "'"];
         $match_clean = substr(substr($match, 1), 0, -1);
         $sub_tokens = explode('|', $match_clean);
 
         foreach ($sub_tokens as $sub_token) {
-          if (substr($sub_token, 0, 1) === '"' && substr($sub_token, -1, 1) === '"') {
+          if (in_array(substr($sub_token, 0, 1), $enclosures) && in_array(substr($sub_token, -1, 1), $enclosures)) {
             // This is a string replacement.
             $result = substr(substr($sub_token, 1), 0, -1);
           }
diff --git a/tests/src/Kernel/TokenOrTest.php b/tests/src/Kernel/TokenOrTest.php
index b09b796..e5efe81 100644
--- a/tests/src/Kernel/TokenOrTest.php
+++ b/tests/src/Kernel/TokenOrTest.php
@@ -69,6 +69,8 @@ class TokenOrTest extends KernelTestBase {
   public function testStringReplacement() {
     $value = $this->tokenService->replace('[token_or:empty|"' . self::$stringReplacement . '"]');
     $this->assertEquals(self::$stringReplacement, $value);
+    $value = $this->tokenService->replace("[token_or:empty|'" . self::$stringReplacement . "']");
+    $this->assertEquals(self::$stringReplacement, $value);
   }
 
   /**
@@ -85,6 +87,8 @@ class TokenOrTest extends KernelTestBase {
   public function testStringValidation() {
     $invalid_tokens = $this->tokenService->getInvalidTokensByContext('[token_or:test|"' . self::$stringReplacement . '"]', ['token_or']);
     $this->assertEmpty($invalid_tokens);
+    $invalid_tokens = $this->tokenService->getInvalidTokensByContext("[token_or:empty|'" . self::$stringReplacement . "']", ['token_or']);
+    $this->assertEmpty($invalid_tokens);
   }
 
   /**
