SASSで文字列の置換をしたい場合、SASSには文字列の置換に関する関数が存在しないため次のような関数を自分で定義して代用します。
関数(SCSS)
@function str-replace($substr, $newsubstr, $str, $all:false) {
$pos : str-index($str, $substr);
@while $pos != null {
$strlen : str-length($substr);
$start : str-slice($str, 0, $pos - 1);
$end : str-slice($str, $pos + $strlen);
$str : $start + $newsubstr + $end;
@if $all == true {
$pos : str-index($str, $substr);
} @else {
$pos : null;
}
}
@return $str;
}
使い方
//元となる文字列
$msg1 : "hoge";
//str-replace("置換前の文字", "置換後の文字", 元となる文字列);
$msg2 : str-replace("hoge", "fuga", $msg1);