22.05.2017, 12:33
|
Новичок на форуме
|
|
Регистрация: 22.05.2017
Сообщений: 1
|
|
Как заменить символ ":" и цифры перед ним с помощью регулярного выражения
Всем привет! Столкнулся с проблемой: мне надо из
взять значение (уже сделал), и заменить нумерацию перед двоеточием (и двоеточие тоже) на строку: "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);}
Но вот это
не помогло.
Пример текста из
:
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:
|
|
22.05.2017, 13:13
|
|
Профессор
|
|
Регистрация: 30.04.2012
Сообщений: 3,018
|
|
var value = textarea.value.replace(/\d+(?=:)/g, '1');
Для надёжности:
var value = textarea.value.replace(/^\d+(?=:)/gm, '1');
|
|
22.05.2017, 13:14
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,120
|
|
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>
|
|
22.05.2017, 13:17
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,120
|
|
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>
|
|
22.05.2017, 13:22
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,120
|
|
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>
|
|
|
|