Форум программистов, компьютерный форум, киберфорум
Наши страницы

Visual Basic .NET

Войти
Регистрация
Восстановить пароль
 
 
Egor2014
29 / 8 / 0
Регистрация: 22.10.2013
Сообщений: 369
#1

Регулярным выражением очистить ширину и высоту ячейки таблицы HTML - Visual Basic .NET

26.12.2016, 09:57. Просмотров 304. Ответов 17
Метки нет (Все метки)

Что необходимо в теме поста написано, результатом регулярки столбец справа:
HTML5
1
2
3
4
<td height="122">                       <td>
<td width="636">                        <td>
<td width="636" height="122">           <td>
<td height="51" colspan="3">            <td colspan="3">
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.12.2016, 09:57
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Регулярным выражением очистить ширину и высоту ячейки таблицы HTML (Visual Basic .NET):

Проверка логина регулярным выражением - .NET
В задаче нужно проверить логин на соответствие требованиям с использованием регулярного выражения Логин должен быть одним словом Логин...

Заменить текст регулярным выражением - Visual Basic .NET
Привет всем! Мужики, кто тащит в регулярках, помогите замену сделать. Есть вот такая строка: ...

Вывод предложений регулярным выражением с условиями - Visual Basic .NET
Можно ли как-то написать код короче, особенно, где длинная строка с If Если кто знает другую регулярку для вывода предложений,...

Программно задать ширину и высоту графическому объекту - Visual Basic .NET
Подскажите как программно задавать ширину и высоту графическом объекту ? На форме есть еще графические объекты кроме этого. нужно ...

Подскажите по парсеру html и регулярным выражением - C#
Ребята, нужна помощь. Впервые пишу парсер и тем более на C#. До этого изучал с++ в институте, а сейчас возникла такая необходимость все это...

Захват регулярным выражением нескольких значений в html файле - JavaScript
Здравствуйте форумчане. Как захватить несколько значений в html файле вида: &lt;a href=&quot;/link123_123?arg1=value&quot; onclick=&quot;return...

17
Orlangur1991
783 / 717 / 163
Регистрация: 28.11.2014
Сообщений: 1,191
26.12.2016, 13:45 #2
Я в регулярках не особо силен, но думаю как-то так
vb.net
1
TextBox2.Text = Regex.Replace(TextBox1.Text, " (height|width)(=" & Chr(34) & ".*?" & Chr(34) & ")", String.Empty)
1
Egor2014
29 / 8 / 0
Регистрация: 22.10.2013
Сообщений: 369
26.12.2016, 20:41  [ТС] #3
Регулярка работает, но удаляет кроме этих тегов и в других, например, в картинках:
HTML5
1
<img src="http://www.cyberforum.ru/images/zvuki-zakreplyayem-01.jpg" width="177" height="135">
Добавлено через 6 часов 45 минут
Вот эта регулярка находит все height и width, но мне нужно только для тега <td
vb.net
1
(?!<td$)\s(height|width)="\d{1,}"
Может кто-то еще сможет подсказать?
0
Bidgo
98 / 92 / 25
Регистрация: 05.04.2014
Сообщений: 190
26.12.2016, 21:01 #4
(<td)+\s(height|width)="\d{1,}"
0
Egor2014
29 / 8 / 0
Регистрация: 22.10.2013
Сообщений: 369
26.12.2016, 21:06  [ТС] #5
Bidgo, работает только для тега <td, но пропускает второе значение, их может быть два, например:
vb.net
1
<td height="122" width="636">
0
Bidgo
98 / 92 / 25
Регистрация: 05.04.2014
Сообщений: 190
26.12.2016, 21:09 #6
Попробуй так.
vb.net
1
(<td)+\s(height|width)="\d{1,}"(\s(height|width)="\d{1,}")?
или так:
vb.net
1
(<td)(+\s(height|width)="\d{1,}")?
0
Egor2014
29 / 8 / 0
Регистрация: 22.10.2013
Сообщений: 369
26.12.2016, 21:13  [ТС] #7
захватывает лишнего тег <td, уф в первом варианте также захватывало
0
Bidgo
98 / 92 / 25
Регистрация: 05.04.2014
Сообщений: 190
26.12.2016, 21:16 #8
так для принадлежности удаляемых height|width к тегу <td, его нужно включать в выражение.
А при замене текста меняй не на пустое значение, а на этот тег "<td"
То есть примерно:
vb.net
1
TextBox2.Text = Regex.Replace(TextBox1.Text, "(<td)(+\s(height|width)=" & Chr(34) & "\d{1,}" & Chr(34) & ")?", "<td")
0
Egor2014
29 / 8 / 0
Регистрация: 22.10.2013
Сообщений: 369
26.12.2016, 21:17  [ТС] #9
прикрепил файл в архиве в нем таблица txt и программа для проверки
0
Вложения
Тип файла: zip Проверка регулярных выражений.zip (87.3 Кб, 6 просмотров)
Bidgo
98 / 92 / 25
Регистрация: 05.04.2014
Сообщений: 190
26.12.2016, 21:24 #10
vb.net
1
(<td)(\s+(height|width)="\d{1,}")+
1
Egor2014
29 / 8 / 0
Регистрация: 22.10.2013
Сообщений: 369
26.12.2016, 21:25  [ТС] #11
Bidgo, Дополнительные сведения: выполняется разбор "(<td)(+\s(height|width)="\d{1,}")?" - Перед квантификатором {x,y} ничего нет.
0
Bidgo
98 / 92 / 25
Регистрация: 05.04.2014
Сообщений: 190
26.12.2016, 21:31 #12
Вроде это то, что надо
vb.net
1
(?<=td)(\s+(height|width)="\d{1,}")+
0
Egor2014
29 / 8 / 0
Регистрация: 22.10.2013
Сообщений: 369
26.12.2016, 21:45  [ТС] #13
Спасибо, все ок!
vb.net
1
2
3
4
        '   Чистим ширину и высоту ячеек
        TextBox3.Text = Regex.Replace(TextBox2.Text, "(?<=td)(\s+(height|width)=""\d{1,}"")+", String.Empty)
        '   Чистим ширину и высоту тега самой таблицы
        TextBox3.Text = Regex.Replace(TextBox3.Text, "(?<=table)(\s+(height|width)=""\d{1,}"")+", String.Empty)
0
Bidgo
98 / 92 / 25
Регистрация: 05.04.2014
Сообщений: 190
26.12.2016, 21:59 #14
Наверное вот так будет более оптимально:
vb.net
1
(?<=<td.*)(\s+(height|width)="\d{1,}")+(?=.*>)
В этом варианте если встречается colspan или любой другой параметр, его место положение не влияет на очистку.
Но между height и width третьего быть не должно.
1
Sklifosofsky
691 / 627 / 158
Регистрация: 29.09.2015
Сообщений: 770
26.12.2016, 22:31 #15
Ох любимые регулярки=)
vb.net
1
Regex.Replace(str, "(?<t1><td)\s?(?:width|height)="".+?""\s?(?<t2>>)", "${t1}${t2}")
Смысл в чем... Каждое вхождение совпадения прособирается из начала и конца тега <td и >
0
26.12.2016, 22:31
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.12.2016, 22:31
Привет! Вот еще темы с ответами:

Каким регулярным выражением можно разбить html текст в массив по тегам? - PHP
Есть, к примеру, такой код: &lt;img src=&quot;image.jpg&quot; /&gt;&lt;p&gt;Об этом впервые заговорили в конце 1950-х годов.&lt;/p&gt; &lt;span&gt;роль ионизации...

Определить высоту и ширину ячейки Excel - VBA
1) Доброе время суток! Кто-нибудь знает, как получить значение о высоте и ширине выбранной ячейки? (чтобы подобные ячейки впоследствии...

Как заделать ширину (а не высоту) html'ного списка? - Java
-

с регулярным выражением. - JavaScript
Имеем текст youtube.com/watch?v=LOZuxwVk7TU&amp;ob=av2em нужно получить то что находится между /watch?v= и &amp; в нашем случае...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.