Vetal_Gendalf
1

как написать прогу что вынимает в скобках одинаковых текст

24.06.2013, 16:23. Показов 1365. Ответов 14
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
как написать прогу что вынимает в скобках одинаковых текст

примеру : fhjksdkg"kljkjlskjld"sdfdsfsdf

чтоб получить kljkjlskjld

--------------------------------------------------------------------
вторая проблема
а если стлашной текст
примеру :
fhjksdkg"kljkjlskjld"sdfdsfsdfsdываываывп"sdasdasd"sdfsdfsdf
fhjksdkg"kljkjlываыjld"sdfdsfsdf
fhjksdkg"klваыаkjld"sdfdsfsdf
fhjksdkg"223jld"sdfdsfsdf
fhjksdkg"ывыывап"sdfdsfsdf


очень бы хотелось получить то что в скобках :
"kljkjlskjld" "sdasdasd" "kljkjlываыjld" "klваыаkjld" "223jld" "ывыывап"

по етапно а не кашу
//--------------этот код вроди как откривает текст вынемает с скобок
//--------------но по тесту каша выходит фигня
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Text;
using System.Windows.Forms;
 
namespace lord_5
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void button3_Click(object sender, EventArgs e)
        {
                 Stream myStream = null;
    OpenFileDialog openFileDialog1 = new OpenFileDialog();
 
    openFileDialog1.InitialDirectory = "c:\\" ;
    openFileDialog1.Filter = "str|*.str" ;
    openFileDialog1.FilterIndex = 2 ;
    openFileDialog1.RestoreDirectory = true ;
    
 
    if (openFileDialog1.ShowDialog() == DialogResult.OK)
    {
        //MessageBox.Show(openFileDialog1.FileName); 
        string readText = File.ReadAllText(openFileDialog1.FileName);
 
        richTextBox1.Text = readText;
    }
 
       
    }
 
        private void button1_Click(object sender, EventArgs e)
        {
            string a1, a2, a3, a4;
            string b = richTextBox1.Text;
            //M:
            int k1;
            k1 = b.IndexOf("\"");//5 в данном случае нужный тебе символ
 
            a1 = b.Substring(0, k1);
            a2 = b.Substring(0, b.LastIndexOf("\""));
            a3 = a2.Replace(a1, "");
            a4 = a3.Replace("\"", "\n");
            //goto M;
            richTextBox2.Text = a4;
        }
 
        private void button2_Click(object sender, EventArgs e)
        {
 
           
        }
        }
}
//----вот такая проблема - думаю нужен какой то диапазон, от символа, и до,условие какое то ?
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.06.2013, 16:23
Ответы с готовыми решениями:

Дана строка, в которой имеется текст в скобках. Написать программу удаления части текста, заключенного в скобки, вместе со скобками
Дана строка, в которой имеется текст в скобках. Написать программу удаления части текста,...

Как использовать текст который в скобках
Здравствуйте! Подскажите пожалуйста как из строки текста использовать только тот текст что в...

Как сделать чтобы текст в текстбоксе был бы в скобках?
как сделать чтобы текст в текстбоксе был бы в скобках?

Как понимать, что в правой части * в скобках?
Доброй ночи) вопросик, как понимать что в правой части * в скобках? char* a = (char*)b

14
217 / 216 / 114
Регистрация: 14.01.2013
Сообщений: 459
24.06.2013, 16:53 2
Вот, должно помочь:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
        private void button1_Click(object sender, EventArgs e)
        {
            int i=0,flag=0,ind=0;
            string str = textBox1.Text,temp="";
            char skobka='"';
            for (i = 0; i < str.Length; i++)
            {
                if (str[i] == skobka)
                {
                    flag++;
                    if (flag % 2 == 0)
                    {
                        temp=temp+" "+str.Substring(ind,i-ind)+skobka;
                    }
                    else
                        {
                            ind=i;
                        }
                }
            }
            MessageBox.Show(temp);
        }
1
104 / 104 / 19
Регистрация: 23.05.2013
Сообщений: 185
24.06.2013, 17:09 3
Можете воспользоваться регулярным выражением, а потом в цикле обрабатывать полученные значения как необходимо.
C#
1
var reg = Regex.Matches(inpText, @"(\w+)");
1
Эксперт Java
4091 / 3825 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 11
25.06.2013, 10:31 4
Цитата Сообщение от Vetal_Gendalf Посмотреть сообщение
очень бы хотелось получить то что в скобках
Про какие скобки речь?
0
1245 / 1055 / 293
Регистрация: 07.03.2012
Сообщений: 3,245
25.06.2013, 11:20 5
Цитата Сообщение от turbanoff Посмотреть сообщение
Про какие скобки речь?
для него скобки и кавычки - одно и то же
0
1057 / 864 / 195
Регистрация: 31.03.2010
Сообщений: 2,521
25.06.2013, 16:35 6
без регулярных выражений в 3 строчки:
C#
1
2
3
4
string innerstring  //получаем строку
string[] substrings = innerstring.Split(new char[]{'"'});
for(int i=1; i<substrings.Length; i+=2)
   Console.WriteLine(substrings[i]);
1
16 / 33 / 19
Регистрация: 20.08.2013
Сообщений: 740
20.08.2013, 14:41 7
Ух Спасибо

столкнулся с проблемой ,узнать номер символа в строке - числовой номер
и заменить этот символ на текст что я напишу


ищет "1" - в основном 1 //может это str_line.IndexOf("\"1\"")); // или str_line.IndexOf('1'));

ПРИМЕР:
чтоб было так - начало строки 0 - а символы Masha was on "1" - и получаем a=15 номер символа 1
чтоб было так - начало строки 0 - а символы Masha was on "1"the highway and was"1" - и получаем a=37 номер сведущего символа 1

и так дальше до конца строки

и получить цифры: a=15,37,........так дальше... - все номера где находиться 1 - последовательно получить цифру символа 1

а потом заполнить их за месть 1 - что в "1"

// воспользоваться этим кодом//
string str_line; // тут та длинющая строка , я ей не вставлял она в низу
string shakespeare = names.Insert(a, line_b); // a - тут номера адреса символа 1, line_b- это будет текст что я вводить буду

Console.WriteLine(shakespeare);

в итоге хочу получить везде

Код
string str_line;

str_line="Masha was on \"1\"the highway and was\"1\" sucking on her candy-\"1\"attacked, took the shovel a\"1\"nd with one blow of seven-\"1\"and they began to inte\"1\"rrogate and torture her, poked\"1\" Vylko in one nostril, she\"1\" cast herself through a second \"1\"falcon's beak and \"1\"then it went to \"1\"the tank"

// мудрил цыклом
string sentence = str_line;
string pattern = "\"(.*?)\""; 
MatchCollection matches;
Regex defaultRegex = new Regex(pattern);
matches = defaultRegex.Matches(sentence);
string[] bin = sentence.Split('"');
for (int ctr = 1; ctr <= matches.Count && ctr<=bin.Length; ctr++)
{
 Console.WriteLine(matches[ctr - 1].Value);
Console.ReadLine();
}
не получилось

Добавлено через 6 секунд
Ух Спасибо

столкнулся с проблемой ,узнать номер символа в строке - числовой номер
и заменить этот символ на текст что я напишу


ищет "1" - в основном 1 //может это str_line.IndexOf("\"1\"")); // или str_line.IndexOf('1'));

ПРИМЕР:
чтоб было так - начало строки 0 - а символы Masha was on "1" - и получаем a=15 номер символа 1
чтоб было так - начало строки 0 - а символы Masha was on "1"the highway and was"1" - и получаем a=37 номер сведущего символа 1

и так дальше до конца строки

и получить цифры: a=15,37,........так дальше... - все номера где находиться 1 - последовательно получить цифру символа 1

а потом заполнить их за месть 1 - что в "1"

// воспользоваться этим кодом//
string str_line; // тут та длинющая строка , я ей не вставлял она в низу
string shakespeare = names.Insert(a, line_b); // a - тут номера адреса символа 1, line_b- это будет текст что я вводить буду

Console.WriteLine(shakespeare);

в итоге хочу получить везде

Код
string str_line;

str_line="Masha was on \"1\"the highway and was\"1\" sucking on her candy-\"1\"attacked, took the shovel a\"1\"nd with one blow of seven-\"1\"and they began to inte\"1\"rrogate and torture her, poked\"1\" Vylko in one nostril, she\"1\" cast herself through a second \"1\"falcon's beak and \"1\"then it went to \"1\"the tank"

// мудрил цыклом
string sentence = str_line;
string pattern = "\"(.*?)\""; 
MatchCollection matches;
Regex defaultRegex = new Regex(pattern);
matches = defaultRegex.Matches(sentence);
string[] bin = sentence.Split('"');
for (int ctr = 1; ctr <= matches.Count && ctr<=bin.Length; ctr++)
{
 Console.WriteLine(matches[ctr - 1].Value);
Console.ReadLine();
}
не получилось
0
1057 / 864 / 195
Регистрация: 31.03.2010
Сообщений: 2,521
20.08.2013, 15:47 8

Не по теме:

кнопка "спасибо" есть ;)


C#
1
str_line = str_line.Replace("1", "ваш текст");
изучите методы string чтоб так не мучаться

Добавлено через 3 минуты
если разный текст вставлять надо - используйте не только 1
1
16 / 33 / 19
Регистрация: 20.08.2013
Сообщений: 740
20.08.2013, 22:11 9
str_line = str_line.Replace("1", line_b); // я понял

это мне знакомо - я уже переменял
вот такое что выдумываю

моя цель: существует текст
"Masha was on "Titanium"the highway and was"Venadium" sucking on her candy-"Aurum"attacked"
спасибо вы помогли
написали код вынимания текста скобок - (условный код , и цикличный)
я получил вот такое
"Titanium" "Venadium" "Aurum"
потом после получения текста в скобках, в строке , я изменяю его - делаю совсем другим вот таким пишу
"I was dog, I love her" "you know when you take" "Rostov is bathed in a bathtub, and she migrated train"
и я хочу вернуть его , на то самое место где взял

то есть должно получиться вот так
"Masha was on "I was dog, I love her"the highway and was"you know when you take" sucking on her candy-"Rostov is bathed in a bathtub, and she migrated train"attacked"



Код
string str_line="Masha was on "Titanium"the highway and was"Venadium" sucking on her candy-"Aurum"attacked";
int i = 0, flag = 0, ind = 0;
            string str = str_line, temp = "";
            char skobka = '"';
            for (i = 0; i < str.Length; i++)
            {
                if (str[i] == skobka)
                {
                    flag++;
                    if (flag % 2 == 0)
                    {
                        temp = temp + " " + str.Substring(ind, i - ind) + skobka;
                    }
                    else
                    {
                        ind = i;
                    }
                }
            }
Console.WriteLine(temp);



/*
тут будет код - где я буду менять temp текст в скобках, на другой текст - ну там  line_changed=Console.ReadLine();
если даже будет форма line_changed=richTextBox1.Text;
*/

// а как вернуть назад этот temp измененный ???? :swoon:
// Толи проиндексировать, получить то что я писал адрес 1 в "1" - и с помощью insert - туда засунуть за месть 1 
// измененный temp :wall: 

str_line = str_line.Replace(temp, line_b); // не катит O_o

//я выдумывал и так регулятором получить текст в скобках - заменить на "1" вычислить символ 1
//и внести изменения но не выходит :ireful: 
//string find2 = Regex.Replace(temp, "\"(.*?)\"", "\"1\"", RegexOptions.IgnoreCase);
Добавлено через 12 минут
извиняюсь ошибки пишу - пишу быстро
но я впрочем написал саму цель что хочу добиться
выдумывал по разному, регуляторами выражений циклами for, forech не получается это решить

Добавлено через 21 минуту
интересная штучка
слышал можно framework отключить, и компилить в С++ // но желательно framework 4.5 не ставить
да знаю в консольном можно и без framework на языке С# обойтись

но все таки С# код перегнав на С++
что в реале можно ,только тут по русски
внизу там фото
Visual Studio 2010 C++ отключить .NET Framework

у меня как положено language=ENG
получается без Framework С++
можно прогу запустить на ПК
где стоит только винда - без ничего
0
1057 / 864 / 195
Регистрация: 31.03.2010
Сообщений: 2,521
21.08.2013, 10:23 10
я бы использовал тот же шаблон с 1,2,3 ... и никаких проблем.
если действительно необходимо - Regex.Matches - обходите результирующую коллекцию в обратном порядке и заменяете тем же Replace в качестве параметра указав Value текущего Match
1
16 / 33 / 19
Регистрация: 20.08.2013
Сообщений: 740
21.08.2013, 13:20 11
хммм попробую Learx
скину код что - твориться

Добавлено через 23 секунды
хммм попробую Learx
скину код что - твориться

Добавлено через 19 минут
хмм надо по читкать, в основном предлагаешь Regex.Matches Learx
регулятор выражений - в обратную сторону
скину что сотворилось
код

Добавлено через 1 час 32 минуты
вот изготовил но столкнулся с проблемой цикла
оно выводит по очереди - а мне надо не так
Masha was on "Titanium"the highway and was"Venadium" sucking on her candy-"Aurum"attacked- это оригинальная

"Titanium" "Venadium" "Aurum" -получил (button1_Click) кнопкай

"1234" "4567" "5666" - изменил в richTextBox2.Text и отправил в line_changed

вот что получил кнопкай (button2_Click) - в richTextBox3.Text

Masha was on "1234"the highway and was"" sucking on her candy-""attacked
Masha was on ""the highway and was"4567" sucking on her candy-""attacked
Masha was on ""the highway and was"" sucking on her candy-"5666"attacked


Код
        private void button1_Click(object sender, EventArgs e)
        {

            
            string str_line;
            str_line = richTextBox1.Text;
            int i = 0, flag = 0, ind = 0;
            string str = str_line, temp = "";
            char skobka = '"';
            for (i = 0; i < str.Length; i++)
            {
                if (str[i] == skobka)
                {
                    flag++;
                    if (flag % 2 == 0)
                    {
                        temp = temp + " " + str.Substring(ind, i - ind) + skobka;
                    }
                    else
                    {
                        ind = i;
                    }
                }
            }
            richTextBox2.Text = temp;
        }

        private void button2_Click(object sender, EventArgs e)
        {
            string line_changed,str_line;
            str_line = richTextBox1.Text;//оригинальный текст 
            
            //изменяем тут текст, и отправляем в line_changed
            line_changed = richTextBox2.Text;

            string pattern = "\"\"";
            string pattern2 = "\"(.*?)\"";
            string shakespeare; //замена ALL

      
            string find = Regex.Replace(str_line, "\"(.*?)\"", "\"\"", RegexOptions.IgnoreCase);

            string text = find,text2=line_changed;
            int i,i2;
            MatchCollection matches;
            MatchCollection matches2;
            Regex defaultRegex = new Regex(pattern);
            Regex defaultRegex2 = new Regex(pattern2);
            matches = defaultRegex.Matches(text);
            matches2 = defaultRegex2.Matches(text2);
            for (int ctr = 1; ctr <= matches.Count && ctr <= matches2.Count; ctr++)
            {
                i = matches[ctr - 1].Index;
                i = i + 1;
                i2 = matches2[ctr - 1].Index;
                
                string edit = matches2[ctr - 1].Value;
                edit = edit.Replace("\"", "");

                //MessageBox.Show(i.ToString()+" "+i2.ToString());
                
                shakespeare = text.Insert(i, edit);
                richTextBox3.Text = shakespeare;            
            }
помогите получить только так
Masha was on "1234"the highway and was"4567" sucking on her candy-"5666"attacked

Добавлено через 5 минут
вот изготовил но столкнулся с проблемой цикла
оно выводит по очереди - а мне надо не так
Masha was on "Titanium"the highway and was"Venadium" sucking on her candy-"Aurum"attacked- это оригинальная

"Titanium" "Venadium" "Aurum" -получил (button1_Click) кнопкай

"1234" "4567" "5666" - изменил в richTextBox2.Text и отправил в line_changed

вот что получил кнопкай (button2_Click) - в richTextBox3.Text

Masha was on "1234"the highway and was"" sucking on her candy-""attacked
Masha was on ""the highway and was"4567" sucking on her candy-""attacked
Masha was on ""the highway and was"" sucking on her candy-"5666"attacked


Код
        private void button1_Click(object sender, EventArgs e)
        {

            
            string str_line;
            str_line = richTextBox1.Text;
            int i = 0, flag = 0, ind = 0;
            string str = str_line, temp = "";
            char skobka = '"';
            for (i = 0; i < str.Length; i++)
            {
                if (str[i] == skobka)
                {
                    flag++;
                    if (flag % 2 == 0)
                    {
                        temp = temp + " " + str.Substring(ind, i - ind) + skobka;
                    }
                    else
                    {
                        ind = i;
                    }
                }
            }
            richTextBox2.Text = temp;
        }

        private void button2_Click(object sender, EventArgs e)
        {
            string line_changed,str_line;
            str_line = richTextBox1.Text;//оригинальный текст 
            
            //изменяем тут текст, и отправляем в line_changed
            line_changed = richTextBox2.Text;

            string pattern = "\"\"";
            string pattern2 = "\"(.*?)\"";
            string shakespeare; //замена ALL

      
            string find = Regex.Replace(str_line, "\"(.*?)\"", "\"\"", RegexOptions.IgnoreCase);

            string text = find,text2=line_changed;
            int i,i2;
            MatchCollection matches;
            MatchCollection matches2;
            Regex defaultRegex = new Regex(pattern);
            Regex defaultRegex2 = new Regex(pattern2);
            matches = defaultRegex.Matches(text);
            matches2 = defaultRegex2.Matches(text2);
            for (int ctr = 1; ctr <= matches.Count && ctr <= matches2.Count; ctr++)
            {
                i = matches[ctr - 1].Index;
                i = i + 1;
                i2 = matches2[ctr - 1].Index;
                
                string edit = matches2[ctr - 1].Value;
                edit = edit.Replace("\"", "");

                //MessageBox.Show(i.ToString()+" "+i2.ToString());
                
                shakespeare = text.Insert(i, edit);
                richTextBox3.Text = shakespeare;            
            }
помогите получить только так
Masha was on "1234"the highway and was"4567" sucking on her candy-"5666"attacked

Добавлено через 16 секунд
вот изготовил но столкнулся с проблемой цикла
оно выводит по очереди - а мне надо не так
Masha was on "Titanium"the highway and was"Venadium" sucking on her candy-"Aurum"attacked- это оригинальная

"Titanium" "Venadium" "Aurum" -получил (button1_Click) кнопкай

"1234" "4567" "5666" - изменил в richTextBox2.Text и отправил в line_changed

вот что получил кнопкай (button2_Click) - в richTextBox3.Text

Masha was on "1234"the highway and was"" sucking on her candy-""attacked
Masha was on ""the highway and was"4567" sucking on her candy-""attacked
Masha was on ""the highway and was"" sucking on her candy-"5666"attacked


Код
        private void button1_Click(object sender, EventArgs e)
        {

            
            string str_line;
            str_line = richTextBox1.Text;
            int i = 0, flag = 0, ind = 0;
            string str = str_line, temp = "";
            char skobka = '"';
            for (i = 0; i < str.Length; i++)
            {
                if (str[i] == skobka)
                {
                    flag++;
                    if (flag % 2 == 0)
                    {
                        temp = temp + " " + str.Substring(ind, i - ind) + skobka;
                    }
                    else
                    {
                        ind = i;
                    }
                }
            }
            richTextBox2.Text = temp;
        }

        private void button2_Click(object sender, EventArgs e)
        {
            string line_changed,str_line;
            str_line = richTextBox1.Text;//оригинальный текст 
            
            //изменяем тут текст, и отправляем в line_changed
            line_changed = richTextBox2.Text;

            string pattern = "\"\"";
            string pattern2 = "\"(.*?)\"";
            string shakespeare; //замена ALL

      
            string find = Regex.Replace(str_line, "\"(.*?)\"", "\"\"", RegexOptions.IgnoreCase);

            string text = find,text2=line_changed;
            int i,i2;
            MatchCollection matches;
            MatchCollection matches2;
            Regex defaultRegex = new Regex(pattern);
            Regex defaultRegex2 = new Regex(pattern2);
            matches = defaultRegex.Matches(text);
            matches2 = defaultRegex2.Matches(text2);
            for (int ctr = 1; ctr <= matches.Count && ctr <= matches2.Count; ctr++)
            {
                i = matches[ctr - 1].Index;
                i = i + 1;
                i2 = matches2[ctr - 1].Index;
                
                string edit = matches2[ctr - 1].Value;
                edit = edit.Replace("\"", "");

                //MessageBox.Show(i.ToString()+" "+i2.ToString());
                
                shakespeare = text.Insert(i, edit);
                richTextBox3.Text = shakespeare;            
            }
помогите получить только так
Masha was on "1234"the highway and was"4567" sucking on her candy-"5666"attacked

Добавлено через 12 секунд
вот изготовил но столкнулся с проблемой цикла
оно выводит по очереди - а мне надо не так
Masha was on "Titanium"the highway and was"Venadium" sucking on her candy-"Aurum"attacked- это оригинальная

"Titanium" "Venadium" "Aurum" -получил (button1_Click) кнопкай

"1234" "4567" "5666" - изменил в richTextBox2.Text и отправил в line_changed

вот что получил кнопкай (button2_Click) - в richTextBox3.Text

Masha was on "1234"the highway and was"" sucking on her candy-""attacked
Masha was on ""the highway and was"4567" sucking on her candy-""attacked
Masha was on ""the highway and was"" sucking on her candy-"5666"attacked


Код
        private void button1_Click(object sender, EventArgs e)
        {

            
            string str_line;
            str_line = richTextBox1.Text;
            int i = 0, flag = 0, ind = 0;
            string str = str_line, temp = "";
            char skobka = '"';
            for (i = 0; i < str.Length; i++)
            {
                if (str[i] == skobka)
                {
                    flag++;
                    if (flag % 2 == 0)
                    {
                        temp = temp + " " + str.Substring(ind, i - ind) + skobka;
                    }
                    else
                    {
                        ind = i;
                    }
                }
            }
            richTextBox2.Text = temp;
        }

        private void button2_Click(object sender, EventArgs e)
        {
            string line_changed,str_line;
            str_line = richTextBox1.Text;//оригинальный текст 
            
            //изменяем тут текст, и отправляем в line_changed
            line_changed = richTextBox2.Text;

            string pattern = "\"\"";
            string pattern2 = "\"(.*?)\"";
            string shakespeare; //замена ALL

      
            string find = Regex.Replace(str_line, "\"(.*?)\"", "\"\"", RegexOptions.IgnoreCase);

            string text = find,text2=line_changed;
            int i,i2;
            MatchCollection matches;
            MatchCollection matches2;
            Regex defaultRegex = new Regex(pattern);
            Regex defaultRegex2 = new Regex(pattern2);
            matches = defaultRegex.Matches(text);
            matches2 = defaultRegex2.Matches(text2);
            for (int ctr = 1; ctr <= matches.Count && ctr <= matches2.Count; ctr++)
            {
                i = matches[ctr - 1].Index;
                i = i + 1;
                i2 = matches2[ctr - 1].Index;
                
                string edit = matches2[ctr - 1].Value;
                edit = edit.Replace("\"", "");

                //MessageBox.Show(i.ToString()+" "+i2.ToString());
                
                shakespeare = text.Insert(i, edit);
                richTextBox3.Text = shakespeare;            
            }
помогите получить только так
Masha was on "1234"the highway and was"4567" sucking on her candy-"5666"attacked

Добавлено через 10 секунд
вот изготовил но столкнулся с проблемой цикла
оно выводит по очереди - а мне надо не так
Masha was on "Titanium"the highway and was"Venadium" sucking on her candy-"Aurum"attacked- это оригинальная

"Titanium" "Venadium" "Aurum" -получил (button1_Click) кнопкай

"1234" "4567" "5666" - изменил в richTextBox2.Text и отправил в line_changed

вот что получил кнопкай (button2_Click) - в richTextBox3.Text

Masha was on "1234"the highway and was"" sucking on her candy-""attacked
Masha was on ""the highway and was"4567" sucking on her candy-""attacked
Masha was on ""the highway and was"" sucking on her candy-"5666"attacked


Код
        private void button1_Click(object sender, EventArgs e)
        {

            
            string str_line;
            str_line = richTextBox1.Text;
            int i = 0, flag = 0, ind = 0;
            string str = str_line, temp = "";
            char skobka = '"';
            for (i = 0; i < str.Length; i++)
            {
                if (str[i] == skobka)
                {
                    flag++;
                    if (flag % 2 == 0)
                    {
                        temp = temp + " " + str.Substring(ind, i - ind) + skobka;
                    }
                    else
                    {
                        ind = i;
                    }
                }
            }
            richTextBox2.Text = temp;
        }

        private void button2_Click(object sender, EventArgs e)
        {
            string line_changed,str_line;
            str_line = richTextBox1.Text;//оригинальный текст 
            
            //изменяем тут текст, и отправляем в line_changed
            line_changed = richTextBox2.Text;

            string pattern = "\"\"";
            string pattern2 = "\"(.*?)\"";
            string shakespeare; //замена ALL

      
            string find = Regex.Replace(str_line, "\"(.*?)\"", "\"\"", RegexOptions.IgnoreCase);

            string text = find,text2=line_changed;
            int i,i2;
            MatchCollection matches;
            MatchCollection matches2;
            Regex defaultRegex = new Regex(pattern);
            Regex defaultRegex2 = new Regex(pattern2);
            matches = defaultRegex.Matches(text);
            matches2 = defaultRegex2.Matches(text2);
            for (int ctr = 1; ctr <= matches.Count && ctr <= matches2.Count; ctr++)
            {
                i = matches[ctr - 1].Index;
                i = i + 1;
                i2 = matches2[ctr - 1].Index;
                
                string edit = matches2[ctr - 1].Value;
                edit = edit.Replace("\"", "");

                //MessageBox.Show(i.ToString()+" "+i2.ToString());
                
                shakespeare = text.Insert(i, edit);
                richTextBox3.Text = shakespeare;            
            }
помогите получить только так
Masha was on "1234"the highway and was"4567" sucking on her candy-"5666"attacked
0
FrostByte
21.08.2013, 14:01
  #12

Не по теме:

а почему вы повторяетесь, повторяетесь.....?

1
16 / 33 / 19
Регистрация: 20.08.2013
Сообщений: 740
21.08.2013, 20:13 13
это я был на работе - а там Хром
два раза шлет ответ
так и в контактах

Добавлено через 43 секунды
как же мне решить проблему

Добавлено через 1 минуту
подскажите

Добавлено через 4 минуты
пожалуйста
0
1057 / 864 / 195
Регистрация: 31.03.2010
Сообщений: 2,521
22.08.2013, 14:41 14
почитать учебник
приведенных примеров и описаний достаточно для выполнения задачи
1
16 / 33 / 19
Регистрация: 20.08.2013
Сообщений: 740
22.08.2013, 21:36 15
спасибо мой друг Learx
мой друг
0
22.08.2013, 21:36
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.08.2013, 21:36
Помогаю со студенческими работами здесь

Начал писать прогу чтобы текст передвигался по экрану, я что то написал но у меня ошибок куча, подскажите пожалуйстаа :)
Задача такова: У меня есть слово &quot;PRIVET&quot; текст должен пройти от начала и до конца экрана и так он...

Нужно написать код который читает текст из файла и считает первые 10 слов одинаковых
Напишите метод, который читает весь текст из файла WarAndWorld.txt, разбивает его на слова. ...

Дан текст. Верно ли, что в нем есть пять идущих подряд одинаковых символа
Дан текст. Верно ли, что в нем есть пять идущих подряд одинаковых символа

Дан текст. Верно ли, что в нем есть пять идущих подряд одинаковых символа
Дан текст. Верно ли, что в нем есть пять идущих подряд одинаковых символа.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru