Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Можно ли одной регуляркой тоже самое сделать? (https://javascript.ru/forum/misc/33532-mozhno-li-odnojj-regulyarkojj-tozhe-samoe-sdelat.html)

Антон Крамолов 26.11.2012 21:07

Можно ли одной регуляркой тоже самое сделать?
 
content.slice(startPos, endPos).replace(/\r/g, '\\r').replace(/\n/g, '\\n')

Atae 27.11.2012 05:42

text.replace( /(\r\n)/gm, '\\$1' );


Если ни секрет зачем такое вообще понадобилось делать?

п.с. быдлокод, да.

Aetae 27.11.2012 10:28

Atae,
Длинноник, ты? Вот бесстыдник то.

Антон Крамолов 27.11.2012 10:45

ни робит же, тем более я уже так пробовал, но с двойными кавычками

>>> var input = 'a\nb\nc';
undefined
>>> input.replace(/(\r\n)/g, '\\$1');
"a
b
c"
>>> input.replace(/(\r\n)/g, "\\$1");
"a
b
c"
>>> input.replace(/\n/g, '\\n');
"a\nb\nc"

Aetae 27.11.2012 10:55

Антон Крамолов,
alert(
JSON.stringify('fgdапапfg\nhjhgthjg\r')
)

Только учитывай, что 1. в ie6 робить не будет, 2. заэкранирует все спецсимволы какие будут.

Atae 27.11.2012 11:21

Aetae, мой фейл

Антон Крамолов 27.11.2012 11:22

хм.

>>> '\n'.charCodeAt(0)
10
>>> '\n'.charCodeAt(1)
NaN
>>> '\\n'.charCodeAt(0)
92
>>> '\\n'.charCodeAt(1)
110

Антон Крамолов 27.11.2012 11:24

>>> '\r'.charCodeAt(0)
13
>>> '\\r'.charCodeAt(0)
92
>>> '\\r'.charCodeAt(1)
114


кроме как str.replace().replace() никак иначе, либо JSON

Антон Крамолов 27.11.2012 11:33

>>> 'Привет, мир!'.charCodeAt(0)
1055
>>> 'Привет, мир!'.charCodeAt(1)
1088
>>> 'Привет, мир!'.charCodeAt(2)
1080
>>> 'Привет, мир!'.charCodeAt(3)
1074
>>> 'Привет, мир!'.charCodeAt(4)
1077
>>> '\u1055\u1088\u1080\u1074\u1077'
"ၕႈႀၴၷ"


Как эти коды в строке использовать?

Atae 27.11.2012 11:50

<head>
  <meta charset="utf-8">
</head>

<script>
    alert( '\u1055' )
</script>


странно


Часовой пояс GMT +3, время: 17:10.