javascript_タブ文字を除去 replaceメソッド

 


var num = 3;


var str_content = " abcde";


上記のようなjavascriptの変数があって、


num の回数だけ

str_contentの文字列の先頭から

タブ文字をremoveするには


どのようなメソッドを使えばいいのでしょうか?



JavaScriptで、

`num` の回数だけ `str_content` の先頭から

タブ文字 (`\t`) を削除する方法として、


以下の方法が考えられます。


### 方法1: 正規表現と`replace()`

```javascript

var num = 3;

// タブ文字が先頭にある

var str_content = " abcde"; 


// 先頭のタブをnum回まで削除

var result

 = str_content.replace(

new RegExp("^\t{1," + num + "}"), "");


// " abcde"(3つのタブが削除される

console.log(result);

 


```

#### 説明


- `^\t{1,num}`: 

先頭 (`^`) から最大 `num` 回までのタブ (`\t`) にマッチ。

- `replace()` で `""` に置換。


---


### 方法2: `while` ループと `startsWith()`


```javascript


var num = 3;

// タブ文字が先頭にある

var str_content = " abcde"; 


for (let i = 0; i < num 

&& str_content.startsWith("\t"); i++) {

    str_content = str_content.substring(1);

}


// " abcde"(3つのタブが削除される)

console.log(str_content); 


```

#### 説明


- `startsWith("\t")` をチェックしながら 

`substring(1)` で1文字ずつ削除。

- `num` 回までのループ制御。


---


どちらの方法でも実装可能ですが、

**正規表現の方法(方法1)がシンプルで効率的**です。


コメント