Built-in string functions help you change and check text in your styles easily. They save time and make your code cleaner.
Built-in string functions in SASS
Introduction
Syntax
SASS
function-name(string, [optional-arguments])
Most string functions take a string as the first input.
Some functions need extra information like the part of the string to get.
Examples
SASS
string.length("Hello")
SASS
string.index("Hello Sass", "Sass")
SASS
string.insert("hello ", "world", 1)
SASS
string.slice("abcdef", 2, 4)
Sample Program
This Sass code uses built-in string functions to create a greeting by inserting "Hello " before "Sass". It then finds the length of the greeting and the position of "Sass" in it. The results show on the webpage with clear labels.
SASS
@use "sass:string"; $word: "Sass"; $greeting: string.insert("Hello ", $word, 7); $length: string.length($greeting); $position: string.index($greeting, $word); body { font-family: Arial, sans-serif; padding: 1rem; } .result::before { content: "#{$greeting}"; display: block; margin-bottom: 1rem; } .result { margin-bottom: 1rem; font-weight: bold; } .output-length::after { content: "Length: #{$length}"; display: block; margin-top: 0.25rem; color: #555; } .output-position::after { content: "Position of \"Sass\": #{$position}"; display: block; margin-top: 0.25rem; color: #555; }
Important Notes
Remember to import the string module in Sass to use these functions.
Positions in strings start at 1, not 0.
String functions help keep your styles dynamic and easy to update.
Summary
Built-in string functions let you work with text inside your Sass code.
You can measure length, locate substrings, insert, and slice strings easily.
Using these functions makes your styles more flexible and powerful.
Practice
1. Which Sass built-in string function returns the length of a string?
length("hello")easy
Solution
Step 1: Understand the
Thelength()functionlength()function in Sass returns how many characters are in a string.Step 2: Apply to the example string
For the string "hello", the length is 5 characters.Final Answer:
Returns the number of characters in the string -> Option BQuick Check:
length("hello") = 5 [OK]
Hint: Remember length() counts characters in a string [OK]
Common Mistakes:
- Confusing length() with uppercase conversion
- Thinking length() returns the first character
- Mixing length() with reverse functions
2. Which of the following is the correct syntax to convert a string to uppercase in Sass?
easy
Solution
Step 1: Recall Sass string uppercase function
The correct Sass function to convert a string to uppercase isuppercase().Step 2: Check syntax correctness
The function is called asuppercase("text"), which matches uppercase("text").Final Answer:
uppercase("text") -> Option AQuick Check:
uppercase("text") converts to "TEXT" [OK]
Hint: Use uppercase() exactly as shown for capital letters [OK]
Common Mistakes:
- Using camelCase like toUpperCase() which is not Sass syntax
- Adding dashes incorrectly in function names
- Confusing with CSS text-transform property
3. What is the output of this Sass code?
$str: "Sass"; $result: str-insert($str, "3", 3);What is the value of
$result?medium
Solution
Step 1: Understand
This function inserts a string into another string at a given index (1-based).str-insert()functionStep 2: Apply insertion at position 3
Original string is "Sass". Insert "3" at position 3 means after the second character: "Sa" + "3" + "ss" = "Sa3ss".Final Answer:
"Sa3ss" -> Option DQuick Check:
str-insert("Sass", "3", 3) = "Sa3ss" [OK]
Hint: Remember str-insert uses 1-based index for insertion [OK]
Common Mistakes:
- Using 0-based index instead of 1-based
- Inserting at wrong position
- Confusing str-insert with str-slice
4. Identify the error in this Sass code:
$text: "Hello"; $new-text: str-slice($text, 2, 1);
medium
Solution
Step 1: Check
The function takes a string, a start index, and an optional end index. Here start=2, end=1.str-slice()parametersStep 2: Analyze index order
Since start index (2) is greater than end index (1), the slice returns an empty string, which is likely unintended.Final Answer:
Start index is greater than end index, causing empty string -> Option AQuick Check:
str-slice("Hello", 2, 1) = "" (empty) [OK]
Hint: Ensure start index ≤ end index in str-slice() [OK]
Common Mistakes:
- Assuming str-slice needs three arguments always
- Thinking variable names must be uppercase
- Believing strings can't be sliced in Sass
5. You want to create a Sass function that returns the first three characters of a string in uppercase. Which code correctly achieves this?
hard
Solution
Step 1: Understand the goal
We want the first three characters of the string in uppercase: uppercase first, then slice precisely.Step 2: Analyze each option
@function first-three-uppercase($str) { @return str-slice(uppercase($str), 1, 3); }uppercases whole string, then slices first 3 characters -- correct.@function first-three-uppercase($str) { @return uppercase(str-slice($str, 1)); }str-slice from 1 to end (no end index), uppercases entire string -- incorrect, too many chars.@function first-three-uppercase($str) { @return str-insert(uppercase($str), 3, 1); }uses str-insert incorrectly and passes number 3 as insert string -- error.@function first-three-uppercase($str) { @return uppercase(str-insert($str, 3, 1)); }similar str-insert misuse -- incorrect.Final Answer:
@function first-three-uppercase($str) { @return str-slice(uppercase($str), 1, 3); } -> Option CQuick Check:
str-slice(uppercase($str), 1, 3) returns first 3 uppercase chars [OK]
Hint: Uppercase full string first, then slice first 3 chars [OK]
Common Mistakes:
- Forgetting end index in str-slice causing full string slice
- Using str-insert instead of str-slice
- Passing numbers as insert strings causing type error
Recommended
Ready to prove it?
Pass the test and this pattern moves unknown
10 questions ~5 mineasy hard
