인스타나 페이스북 요즘에는 카카오톡에서도 태그를 많이들 활용하고 게시물에서는 당연히 있어야하는 기능으로 생각 되어진다.
그런데 생각보다 해당 기능과 관련 된 문서가 정리된 것이 잘 없어서 frontend, backend, fullstack 개발자에게 많은 고통을 주는 것 같다(저요..ㅠㅠ)
그래서 이번에 맨땅에 헤딩해보면서 만들어보려고 한다. ! 화이팅!! (나는 flutter를 사용하므로 dart라는 언어로 개발하고자 하였다.)
1. 태그 String 추출
String 에서 태그를 추출부터 해야한다.
그러면 추출하는 함수는 무엇인가 #댓글 #추출 -> 이것은 모두 #과 띄움(space bar)사이에 있는 글이 태그로 나타나는 것이라고 생각이 되어서 그러면 #과 space바 사이에 있는 string 을 가져오는 함수를 찾아보았다.
"태그 string 추출"로 구글에 검색해서 우선 찾아보았다.
원하는 것이 안나와서 "extract tag string"로 유튜브에서도 찾아보았다.
찾다보니 class 중에 pattern과 matcher를 사용해야한다는 것을 깨달았다.
http://daplus.net/java-정규식을-사용하여-하위-문자열을-추출하는-방법/
나는 사실 정규식에 대해서 아예 모르다보니.. youtube 강의를 시청했다.
https://www.youtube.com/watch?v=1BTGSVhNDu8
사실 위의 동영상을 봐도 잘 모르겠어서
이것저것 자료를 진짜 많이 찾아봤는데 아래의 코드로 하면 찾아지긴한다..
동작원리는 정확하게 잘 모르겠다.
Dart 언어 정규식
void main() {
var mystring = '안녕하세요! @행복 님 정말 오랜만입니다.ㅎㅎ @기쁨 님도 오랜만이에요ㅋㅋㅋ';
Pattern nickNamePattern = "(@[\d|A-Z|a-z|ㄱ-ㅎ|ㅏ-ㅣ|가-힣]*)";
RegExp nickNameRegex = RegExp(nickNamePattern);
nickNameRegex.allMatches(mystring).forEach((element) {
print(element.group(0).substring(1));
});
}
substring(1) 을 없애면 @행복, @기쁨으로 나온다 ㅎㅎ
'개발' 카테고리의 다른 글
정규식 연습장 (0) | 2022.03.26 |
---|---|
Create Gif file easily (0) | 2022.01.30 |
코딩 알고리즘 연습 사이트 (0) | 2022.01.26 |
혼자 개발할 때 좋은 점 (0) | 2022.01.23 |
Random user Api (0) | 2022.01.21 |