Предположим, у меня есть строка '[email protected]'
. Я хочу сохранить строку до и после «@» в 2 отдельные строки. Каким будет самый простой способ нахождения символа «@» или других символов в строке?Поиск определенного символа в строке в Matlab
ответ
Вместо этого я использовал strtok и strrep из Matlab.
Для «простой»,
>> email = '[email protected]'
email =
[email protected]
>> email == '@'
ans =
Columns 1 through 13
0 0 0 0 0 0 0 1 0 0 0 0 0
Columns 14 through 19
0 0 0 0 0 0
>> at = find(email == '@')
at =
8
>> email(1:at-1)
ans =
johndoe
>> email(at+1:end)
ans =
hotmail.com
Было бы немного более сложным, если вы ищете что-то с более чем один символ, или вы не были уверены, что если бы был точно один @, а в том, что case MATLAB имеет множество функций для поиска по тексту, включая регулярные выражения (см. doc regexp
).
STRTOK и операция индекс должен сделать трюк:
str = '[email protected]';
[name,address] = strtok(str,'@');
address = address(2:end);
или последняя строка может также быть:
address(1) = '';
TEXTSCAN тоже работает.
str = '[email protected]';
parts = textscan(str, '%s %s', 'Delimiter', '@');
возвращает массив ячеек, где части {1} 'JohnDoe' и части {2} 'hotmail.com'.
Вы можете использовать strread:
str = '[email protected]';
[a b] = strread(str, '%s %s', 'delimiter','@')
a =
'johndoe'
b =
'hotmail.com'
примечание: последние версии MATLAB рекомендуют использовать 'textscan' вместо' strread' – Amro
Строка электронной почты = "[email protected]";
String a[] = email.split("@");
String def = null;
String ghi = null;
for(int i=0;i<a.length;i++){
def = a[0];
ghi = a[1];
}
Это неправильный язык. – Lukas
Если эта нить не полностью перечислина, могу ли я добавить другую? Удобный Perl на основе MATLAB функция:
email = '[email protected]';
parts = regexp(email,'@', 'split');
части является массив ячеек два элемента похожи, чтобы mtrw реализации TextScan. Может быть, overkill, но regexp гораздо полезнее при разбиении строки на несколько разграничивающих символов или на поиск шаблонов. Единственным недостатком является использование регулярных выражений, которые я до сих пор не освоил после 15 лет кодирования.
+1 странно, что никто не упоминал регулярные выражения все это время :) – Amro
- 1. Поиск определенного символа в строке
- 2. Поиск ArrayList для определенного символа в строке
- 3. Поиск определенного символа в алфавитно-цифровой строке
- 4. Поиск определенного символа в строках
- 5. поиск символа в строке
- 6. Замена определенного символа в строке
- 7. Наличие определенного символа в строке
- 8. Поиск определенного символа в строке со статическим методом
- 9. Поиск повторяющегося символа в строке
- 10. Поиск позиции символа в строке
- 11. Поиск указателя символа в строке
- 12. Поиск определенного символа в файле в Qt
- 13. найти индекс символа в строке в MATLAB
- 14. bash - подсчет количества определенного символа в строке
- 15. заменить все вхождения определенного символа в строке
- 16. Remove Space после определенного символа в строке,
- 17. Заменить все символы определенного символа в строке
- 18. Удалить первый из определенного символа в строке
- 19. Удаление символа в строке из определенного индекса
- 20. Найти индексы для определенного символа в строке
- 21. Выбор до определенного символа в строке
- 22. Oracle: первое вхождение определенного символа в строке
- 23. Как подсчитать появление определенного символа в строке
- 24. подстроки на основе определенного символа в строке
- 25. Подсчет определенного символа в строке (Java)
- 26. Имя шрифта определенного символа в строке | Swift
- 27. Получить значение после определенного символа в строке
- 28. Spotfire: подсчитайте число определенного символа в строке
- 29. Убедитесь, что наличие определенного символа в строке
- 30. Проверить наличие определенного символа в строке
-1. Остальные ответы здесь лучше, так как они предоставляют пример кода. Как вы использовали 'strtok' и' strrep'? Покажите пример, и я перейду на +1. – gary
Это хорошее предложение. – Richard