余分な空白を含む文字列があります。空白が複数ある場合はその都度空白にしてください。
誰でも?私はグーグルを検索しようとしました、しかし何も私のために働きませんでした。
ありがとう
このようなもの:
var s = " a b c ";
console.log(
s.replace(/\s+/g, ' ')
)
次のように、Stringを拡張してこれらの動作をメソッドとして実装できます。
String.prototype.killWhiteSpace = function() {
return this.replace(/\s/g, '');
};
String.prototype.reduceWhiteSpace = function() {
return this.replace(/\s+/g, ' ');
};
これにより、以下のエレガントな形式を使用して必要な文字列を作成できます。
"Get rid of my whitespaces.".killWhiteSpace();
"Get rid of my extra whitespaces".reduceWhiteSpace();
replace関数と一緒に正規表現を使うとうまくいく。
string.replace(/\s/g, "")
(allスペースを削除するのではなく)文字列の先頭または末尾(あるいはその両方)からスペースを削除するとします。
その場合は、次のような正規表現が必要です。
mystring = mystring.replace(/(^\s+|\s+$)/g,' ');
これにより、文字列の先頭または末尾からすべてのスペースが削除されます。最後からスペースを削除したいだけなら、正規表現は代わりに次のようになります。
mystring = mystring.replace(/\s+$/g,' ');
それが役立つことを願っています。
var s = ' a b Word word. Word, wordword Word ';
// with ES5:
s = s.split(' ').filter(function(n){ return n != '' }).join(' ');
console.log(s); // "a b Word word. Word, wordword Word"
// or ES6:
s = s.split(' ').filter(n => n).join(' ');
console.log(s); // "a b Word word. Word, wordword Word"
これは、文字列を空白で分割し、それらを配列からすべて削除し(1つ以上の空白であったもの)、すべての単語を1つの空白で文字列に結合します。それらの間の。
jQuery.trim()はうまく機能します。
私は、私が主題についてネクロマンシーをすべきではないことを知っています、しかし質問の詳細を考えると、私は通常それを意味するようにそれを拡大します:
このために、私は次のようなコードを使います(最初の正規表現の括弧はコードをもう少し読みやすくするためにあります。
s = s.replace(/^(\s*)|(\s*)$/g, '').replace(/\s+/g, ' ');
これが機能する理由は、Stringオブジェクトのメソッドが別のメソッドを呼び出すことができる文字列オブジェクトを返すためです(jQueryや他のライブラリと同じように)。 1つのオブジェクトに対して複数のメソッドを連続して実行したい場合は、はるかにコンパクトなコーディング方法です。
var x = "テストテスト" .split( "").join( "");アラート(x);
これはどう?
"my test string \t\t with crazy stuff is cool ".replace(/\s{2,9999}|\t/g, ' ')
"my test string with crazy stuff is cool "
を出力
これもタブを取り除きます
ユーザーが名前に空白を入れることを制限したい場合は、ifステートメントを作成して条件を指定してください。私がしたように:
$j('#fragment_key').bind({
keypress: function(e){
var key = e.keyCode;
var character = String.fromCharCode(key);
if(character.match( /[' ']/)) {
alert("Blank space is not allowed in the Name");
return false;
}
}
});
これを試して。
var string = " string 1";
string = string.trim().replace(/\s+/g, ' ');
結果は
string 1
ここで起こったことは、最初にtrim()
を使って外側のスペースをトリミングし、次に.replace(/\s+/g, ' ')
を使って内側のスペースをトリミングするということです。