私には、これはXY Problemのように見えます。
あなたがしたいことは、時間が AM/PM 指定子から分割されないようにすることです。スクリプトを修正しようとする代わりに、コンテンツ自体を変更して、時間とデジグネータの間に非分割スペースが発生するようにする必要があります。
例えば:
8:00 AM
これにより、時間とデジグネータを改行で区切ることなく、コンテンツがコンテナを流動的に満たすことができます。
コンテンツ自体が空白 (したがって改行) を保持することを意図している場合、コンテンツは次のようにスタイル設定する必要があります。
CSS で:
white-space: pre;
または<pre>
要素内に含まれます。
または、コンテンツを事前にフォーマットするのではなく<br>
、常に複数行に分割する必要がある場合は、要素を使用する必要があります。
Fri Nov 5<br>11:11 AM
この特定のケースでは、要素
の代わりにエンティティを使用することをお勧めします。要素は、詩や.<br>
<br>
<address>
サーバーからテキストの形式を変更できない場合は、.replace
比較的簡単に非改行スペース文字を挿入できます。
newStr = yourStr.replace(/(\d\d) ([AP]M)/g, '$1 $2');
パターンの内訳は次のとおりです。/(\d\d) ([AP]M)/g
/
RegExp リテラルは文字で区切られています
- 括弧は文字のグループをキャプチャするために使用され、置換文字列の
$1
andはキャプチャされた文字を参照します。$2
\d\d
時間の分を表す 2 つの連続する数字を一致させるために使用されます。
- スペースは、分と AM/PM 指定子の間のスペースと一致させるために使用されます。
\s+
HTML コンテンツに複数の空白文字がある場合に使用できます。
[AP]
A
またはP
文字のいずれかに一致するために使用されます
[AP]M
AM
またはに一致しPM
ます。これは (AM|PM) のように書くこともできます。
- フラグは、
g
文字列で見つかったすべての出現に対して置換が発生するように指示するために使用されます。