Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 22.05.2017, 12:33
Новичок на форуме
Отправить личное сообщение для RudeMood Посмотреть профиль Найти все сообщения от RudeMood
 
Регистрация: 22.05.2017
Сообщений: 1

Как заменить символ ":" и цифры перед ним с помощью регулярного выражения
Всем привет! Столкнулся с проблемой: мне надо из
Код:
textarea
взять значение (уже сделал), и заменить нумерацию перед двоеточием (и двоеточие тоже) на строку: "1:". Пробовал так:

var textarea = document.querySelector('textarea');

    var myList = textarea.value.split('\n');
    for (var i = 0, ln = myList.length; i < ln; i++){
        var goodies = myList[i].replace(new RegExp('^.*:$', 'i'), "1:"); console.log(goodies);}


Но вот это
Код:
/^.*:$/i
не помогло.

Пример текста из
Код:
textarea
:

1: 100 Mile House, British Columbia
2: 108 Mile House, British Columbia
3: 108 Mile Ranch, British Columbia
4: 150 Mile House, British Columbia
5: Abbey, Saskatchewan
6: Abbotsford, British Columbia
7: Aberarder, Ontario
8: Abercorn, Quebec
9: Aberdeen, Saskatchewan
10: Abernethy, Saskatchewan
11: Abitibi Canyon, Ontario
12: Acadia Valley, Alberta


Надо в этих строках цифру и двоеточие поменять на 1:
Ответить с цитированием
  #2 (permalink)  
Старый 22.05.2017, 13:13
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

var value = textarea.value.replace(/\d+(?=:)/g, '1');


Для надёжности:

var value = textarea.value.replace(/^\d+(?=:)/gm, '1');
Ответить с цитированием
  #3 (permalink)  
Старый 22.05.2017, 13:14
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,108

RudeMood,

<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">

  <script>
window.addEventListener('DOMContentLoaded', function() {
var textarea = document.querySelector('textarea');
    textarea.value = textarea.value.replace(/\d+:/g,"1:");
    });
  </script>
</head>

<body>
<textarea name="" cols="40" rows="15">1: 100 Mile House, British Columbia
2: 108 Mile House, British Columbia
3: 108 Mile Ranch, British Columbia
4: 150 Mile House, British Columbia
5: Abbey, Saskatchewan
6: Abbotsford, British Columbia
7: Aberarder, Ontario
8: Abercorn, Quebec
9: Aberdeen, Saskatchewan
10: Abernethy, Saskatchewan
11: Abitibi Canyon, Ontario
12: Acadia Valley, Alberta
</textarea>

</body>
</html>
Ответить с цитированием
  #4 (permalink)  
Старый 22.05.2017, 13:17
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,108

RudeMood,
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">

  <script>
window.addEventListener('DOMContentLoaded', function() {
var textarea = document.querySelector('textarea');
    textarea.value = textarea.value.replace(/^\d+/gm,"1");
    });
  </script>
</head>

<body>
<textarea name="" cols="40" rows="15">1: 100 Mile House, British Columbia
2: 108 Mile House, British Columbia
3: 108 Mile Ranch, British Columbia
4: 150 Mile House, British Columbia
5: Abbey, Saskatchewan
6: Abbotsford, British Columbia
7: Aberarder, Ontario
8: Abercorn, Quebec
9: Aberdeen, Saskatchewan
10: Abernethy, Saskatchewan
11: Abitibi Canyon, Ontario
12: Acadia Valley, Alberta
</textarea>

</body>
</html>
Ответить с цитированием
  #5 (permalink)  
Старый 22.05.2017, 13:22
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,108

RudeMood,
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">

  <script>
window.addEventListener('DOMContentLoaded', function() {
var textarea = document.querySelector('textarea');
    var myList = textarea.value.split('\n');
    for (var i = 0, ln = myList.length; i < ln; i++){
    myList[i] = myList[i].replace(new RegExp('^.*:'), "1:");}
    textarea.value = myList.join("\n");
    });
  </script>
</head>

<body>
<textarea name="" cols="40" rows="15">1: 100 Mile House, British Columbia
2: 108 Mile House, British Columbia
3: 108 Mile Ranch, British Columbia
4: 150 Mile House, British Columbia
5: Abbey, Saskatchewan
6: Abbotsford, British Columbia
7: Aberarder, Ontario
8: Abercorn, Quebec
9: Aberdeen, Saskatchewan
10: Abernethy, Saskatchewan
11: Abitibi Canyon, Ontario
12: Acadia Valley, Alberta
</textarea>

</body>
</html>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как правильно заменить символ точки? sharomet Общие вопросы Javascript 0 06.08.2016 21:01
Как найти все вхождения искомого слова при помощи регулярного выражения? khusamov Общие вопросы Javascript 8 01.11.2015 23:39
Ругулярные выражения как исключить символ "\" Tek Общие вопросы Javascript 6 25.09.2014 11:07
Как вы относитесь к наркоманам? Maxmaxmaximus7 Оффтопик 7 05.02.2014 13:29
Как заменить символ Forgotten Общие вопросы Javascript 4 31.08.2012 00:39