Ես ունեմ հետևյալ տողը.
[SM_g]Սա[SM_h][SM_g][SM_h][SM_g]a[SM_h][SM_g]նախադասություն է։[SM_h][SM_l][SM_g]Ահա[SM_h][SM_g]է[SM_h][SM_g]մեկ այլ նախադասություն։ [SM_h][SM_g]նախադասություն։[SM_h][SM_1]
Եվ ես կարող եմ այդ տողը վերածել այս տողի, որն այնուհետև ցուցադրում եմ <p>
տարրի մեջ.
Սա նախադասություն է.
Ահա ևս մեկ նախադասություն.
հետևյալ ծածկագրով.
tokenResponseText_initial = "[SM_g]This[SM_h][SM_g]is[SM_h][SM_g]a[SM_h][SM_g]sentence.[SM_h][SM_l][SM_g]Here[SM_h][SM_g]is[SM_h][SM_g]another[SM_h][SM_g]sentence.[SM_h][SM_1]"
const newLineIndicator = "insert-double-new-line"
const tokenResponseText_fixedNewLines = tokenResponseText_initial.replace(/(\[SM_g].*?)(\[SM_h]\[SM_l])/g, "$1" + newLineIndicator + "$2");
const wordCompilationRegex = /\[SM_g](.*?)\[SM_h]/g;
var wordRegexResponse;
var summary = "";
do {
wordRegexResponse = wordCompilationRegex.exec(tokenResponseText_fixedNewLines);
if (wordRegexResponse) {
if (wordRegexResponse[1].includes(newLineIndicator)) {
summary += wordRegexResponse[1].replace(newLineIndicator, "") + "\n\n";
} else {
summary += wordRegexResponse[1] + " ";
}
}
} while (wordRegexResponse);
//The following is rough code,
someParagraphElement.innerHTML = summary;
p {
white-space: pre-line;
}
<p id="someParagraphElement"></p>
Որտեղ պարբերության տարրն ունի հետևյալ հատկանիշը white-space: pre-line;
Այնուամենայնիվ, իդեալականորեն, երկու նախադասությունների միջև կրկնակի նոր գիծ ստեղծելու համար ես կցանկանայի վերացնել newLineIndicator
-ի օգտագործումը և պարզապես անել սա.
Բայց այս երկրորդ մեթոդը չի աշխատում։ Վերջնական արդյունքը չի ավարտվում կրկնակի նոր տողերով չնայած, երբ ես տպում եմ tokenResponseText_fixedNewLines
վահանակի վրա, թվում է, թե կրկնակի նոր տողերը տեղադրվել են, այսպես.
[SM_g]Սա[SM_h][SM_g][SM_h][SM_g]a[SM_h][SM_g]նախադասություն է:
[SM_h][SM_l][SM_g]Ահա[SM_h][SM_g]է[SM_h][SM_g]մեկ այլ[SM_h][SM_g]նախադասություն:[SM_h][SM_1]
tokenResponseText_initial = "[SM_g]This[SM_h][SM_g]is[SM_h][SM_g]a[SM_h][SM_g]sentence.[SM_h][SM_l][SM_g]Here[SM_h][SM_g]is[SM_h][SM_g]another[SM_h][SM_g]sentence.[SM_h][SM_1]"
const tokenResponseText_fixedNewLines = tokenResponseText_initial.replace(/(\[SM_g].*?)(\[SM_h]\[SM_l])/g, "$1\n\n$2");
const wordCompilationRegex = /\[SM_g](.*?)\[SM_h]/g;
var wordRegexResponse;
var summary = "";
do {
wordRegexResponse = wordCompilationRegex.exec(tokenResponseText_fixedNewLines);
if (wordRegexResponse) {
summary += wordRegexResponse[1] + " ";
}
} while (wordRegexResponse);
//The following is rough code,
someParagraphElement.innerHTML = summary;
p {
white-space: pre-line;
}
<p id="someParagraphElement"></p>
Ինչու՞ երկրորդ մեթոդը չի աշխատում, չնայած առաջին մեթոդն աշխատում է: .*?
-ը չի՞ գրավում նոր տողեր:
"SyntaxError: invalid regular expression flag s"
18.04.2018s
դրոշը ստանդարտ չէ, այն Chrome-ի ընդլայնում է: 18.04.2018.
-ի փոխարեն օգտագործեք[\s\S]
: 18.04.2018