Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.03.2012, 16:12   #1
nulyjarden
Пользователь
 
Регистрация: 03.04.2010
Сообщений: 26
Восклицание Работа со строками

Здавствуйте.
Задача
Дана последовательность слов. Напечатать все слова, предварительно выполнив преобразования по правилу: заменить в каждом слове первую встречную букву а буквой о, удалив все остальные (если в слове нет такой буквы, то ничего не делать).

Вот код:
Код:

<html>
<head>
<script language="Javascript">
var str=prompt("Введите строку","")
document.writeln("<b>Исходная строка: </b>"+str+"<br>")
l=str.length //длина строки 
s=new Array() 
slovo=new Array() 
k=0
for (i=0;i<=l-1;++i){
if (str.slice(i,i+1)==" "){
k=k+1}}
s1=""
slovo=str.split(" ")
for (i=0;i<=k;++i){
l=slovo[i].length
a=slovo[i].indexOf("а")
s1=s1+" "+slovo[i].slice(0,a)+"о"}
document.writeln("<b>Преобразованная строка: </b>"+s1+"<br>")
</script>
</head>
</html>
Код меняет первую попавшуюся букву "а" на "о", а остальные символы удаляются.
Необходимо менять первую попавшуюся букву "а" на "о", а остальные символы выводить, но буквы "а" удалять.
nulyjarden вне форума Ответить с цитированием
Старый 30.03.2012, 16:38   #2
Wicort
Форумчанин
 
Аватар для Wicort
 
Регистрация: 04.08.2009
Сообщений: 684
По умолчанию

Код HTML:
<html>
<head>
<script language="Javascript">
var str=prompt("Введите строку","");
l=str.length; //длина строки 
s1="";
new_word = true;
for (i=0;i<=l-1;++i)
{
  if (str[i] == 'а')
  {
    if (new_word == true)
    {
      s1 = s1 + 'о';
      new_word = false;
    }
  }
  else
  {
    if (str[i] == ' ') 
    {
      new_word = true;
      s1 = s1 + str[i];
    }
    else s1 = s1 + str[i];
  }
  
}         
document.writeln("<b>Исходная строка: </b>"+str+"<br>");
document.writeln("<b>Преобразованная строка: </b>"+s1+"<br>");
</script>
</head>
</html>
Только с заглавными буквами работать не будет.
Еслия Вам помог, не поленитесь нажать на весы и оставить отзыв. Это не займет много времени, но даст понять, что я старался не зря =)
Мой ник зарегистрирован, а твой?

Последний раз редактировалось Wicort; 30.03.2012 в 16:40.
Wicort вне форума Ответить с цитированием
Старый 01.04.2012, 11:11   #3
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

Код:
var str='А Только с зАглавными буквами работать не будет.';
Array.prototype.replace=function(a,b) {var r=this;for (var i=r.length;i--;) r[i]=r[i].replace(a,b);return r};
str.split(' ').replace(/[Аа]/,'о').replace(/[Аа]/g,'').join(' ');
//"о Только с зоглвными буквоми роботть не будет."
=)
Alar, верни репу!
Naive вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C++(Работа со строками) MJBuster Visual C++ 4 11.01.2012 23:02
Работа со строками (С) Юрик Докукин 1992 Помощь студентам 0 28.12.2011 00:49
работа со строками Freek123 C# (си шарп) 1 21.10.2011 11:09
Работа с матрицами (норма матрицы, работа со строками) Neitrosha Помощь студентам 1 26.11.2010 20:19
работа со строками buba3230 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 5 02.06.2009 22:18