Я предполагаю, что «myStr» является объектом типа String, в этом случае это не регулярное выражение. \r и\n являются эквивалентами для CR и LF.
Мое лучшее предположение заключается в том, что, если вы знаете, что у вас есть строка\n для КАЖДОЙ, независимо от того, что вы сначала должны вырезать каждый \ р. Затем замените все\n на\r\n.
Ответ chakrit дает также идти, но тогда вам нужно использовать регулярное выражение, но так как вы не говорите, что такое «myStr» ...
Редактирование: просмотр других примеров говорит мне одно: почему сложные вещи, когда вы можете сделать это легко ?, Поскольку существует регулярное выражение, это не то же самое, что «нужно использовать»: D
Edit2: Инструмент очень полезен при игре с регулярным выражением, xpath и еще что-то, что дает вам странные результаты, могу ли я указать вам на: http://www.regexbuddy.com/
Xrm.WebApi
методы всегда асинхронны, он возвращает объект Promise браузера & amp; вернуть результат в асинхронном режиме. Поэтому, когда вы хотите, чтобы что-то выполнялось в зависимости от результата обратного вызова, переместите его внутрь.
Таким же образом .then
поможет вам выполнить выполнение кода в последовательности. Не уверен, как очистка кэша работает случайным образом, но сделал пару изменений. Вы можете установить точки останова / отладки, чтобы увидеть их в действии или просто предупредить.
Xrm.WebApi.retrieveMultipleRecords("saft_bpf_isd_opportunities","fetchXml= " + fetchXml).then(
function success(result) {
debugger;
alert("existed value ==> "+formContext.getAttribute("saft_activestage").getValue());
alert("new value ==> "+result.entities[0]._activestageid_value);
formContext.getAttribute("saft_activestage").setValue(result.entities[0]._activestageid_value);
formContext.data.save(70).then(function (result) {
alert("after save");
formContext.data.process.setActiveProcess(idProcess_ISD, function (result) { alert("setActiveProcess completed"); });
});
},function(error) {
console.log(error.message);
}
);