[解決済み] 文字列から特定の文字を切り取る
2022-04-21 18:53:58
質問
は何ですか?
JavaScript
に相当します。
C#
メソッドです。
var x = "|f|oo||";
var y = x.Trim('|'); // "f|oo"
C#は選択された文字を 始まり と 終了 文字列の
解決方法は?
一行で十分です。
var x = '|f|oo||';
var y = x.replace(/^\|+|\|+$/g, '');
document.write(x + '<br />' + y);
^ beginning of the string
\|+ pipe, one or more times
| or
\|+ pipe, one or more times
$ end of the string
一般的な解答です。
function trim (s, c) {
if (c === "]") c = "\\]";
if (c === "^") c = "\\^";
if (c === "\\") c = "\\\\";
return s.replace(new RegExp(
"^[" + c + "]+|[" + c + "]+$", "g"
), "");
}
chars = ".|]\\^";
for (c of chars) {
s = c + "foo" + c + c + "oo" + c + c + c;
console.log(s, "->", trim(s, c));
}
パラメータ
c
は文字(長さ1の文字列)であることが期待されます。
コメントで言及されているように、複数の文字をサポートすると便利かもしれません。例えば、複数の空白文字のような文字をトリミングすることはよくあります。これを行うには
マイティポーク
を置き換えることを提案しています。
if
を次のようなコードに置き換えてください。
c = c.replace(/[-/\\^$*+?.()|[\]{}]/g, '\\$&');
この部分
[-/\\^$*+?.()|[\]{}]
は正規表現構文における特殊文字の集合であり
$&
はマッチングする文字を表すプレースホルダーで、つまりは
replace
関数は特殊文字をエスケープします。ブラウザのコンソールで試してみてください。
> "{[hello]}".replace(/[-/\\^$*+?.()|[\]{}]/g, '\\$&')
"\{\[hello\]\}"
関連
-
[解決済み】Node Version Manager のインストール - nvm コマンドが見つかりません。
-
[解決済み】JavaScriptでインラインIF文の書き方は?
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] JavaScriptでランダムな文字列/文字を生成する
-
[解決済み] Javascriptで文字列の最後の文字を切り取るにはどうしたらいいですか?
-
[解決済み] JavaScriptで文字列をトリムする?
-
[解決済み】JavaScriptで文字列の出現箇所をすべて置換する方法
-
[解決済み】オブジェクトの配列を文字列のプロパティ値でソートする
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
vueネットワークリクエストソリューション ネイティブネットワークリクエストとjsネットワークリクエストライブラリ
-
vue ディレクティブ v-html と v-text
-
[解決済み] 配列の結合時に未定義のプロパティ 'push' を読み込むことができない
-
[解決済み】React Nativeアプリをターミナルから実行するとエラーが発生する(iOS)
-
[解決済み】JavaScriptでインラインIF文の書き方は?
-
フロントエンド非同期(アシンク)ソリューション(全ソリューション)
-
[解決済み] 配列の最後の項目を取得する
-
[解決済み] Javascriptでテキストの一文字一文字を処理するには?
-
[解決済み] 正規表現でエスケープしなければならない特殊文字は何ですか?
-
[解決済み】文字列の先頭と末尾の文字を削除する方法