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)がシンプルで効率的**です。
コメント
コメントを投稿