필터 지우기
필터 지우기

Split digits into 2 matrices

조회 수: 1 (최근 30일)
loes henstra
loes henstra 2021년 6월 2일
편집: Walter Roberson 2021년 6월 2일
I am trying to solve a card problem.
I get two hands as an imput (Let's say 5H 5C 6S 7S 10D and 2C 3S 6S 7S 10D)
For this I want to split suit and number and put them in 2 different matrices. (I ofcourse number the suits first).
I have found ways to split the digits of a number, but not to put them in 2 different matrices.

답변 (1개)

Walter Roberson
Walter Roberson 2021년 6월 2일
편집: Walter Roberson 2021년 6월 2일
Different approaches:
cards = {'5H' '5C' '6S' '7S' '10D' 'QC' '3S' 'KS' '7S' '10D'}
cards = 1×10 cell array
{'5H'} {'5C'} {'6S'} {'7S'} {'10D'} {'QC'} {'3S'} {'KS'} {'7S'} {'10D'}
ranks1 = cellfun(@(c) c(1:end-1), cards, 'uniform', 0)
ranks1 = 1×10 cell array
{'5'} {'5'} {'6'} {'7'} {'10'} {'Q'} {'3'} {'K'} {'7'} {'10'}
suits1 = cellfun(@(c) c(end), cards, 'uniform', 0)
suits1 = 1×10 cell array
{'H'} {'C'} {'S'} {'S'} {'D'} {'C'} {'S'} {'S'} {'S'} {'D'}
ranks2 = regexprep(cards, '.$', '', 'once')
ranks2 = 1×10 cell array
{'5'} {'5'} {'6'} {'7'} {'10'} {'Q'} {'3'} {'K'} {'7'} {'10'}
suits2 = regexp(cards, '.$', 'match', 'once')
suits2 = 1×10 cell array
{'H'} {'C'} {'S'} {'S'} {'D'} {'C'} {'S'} {'S'} {'S'} {'D'}
ranks3 = extractBefore(cards, lettersPattern(1) + lineBoundary)
ranks3 = 1×10 cell array
{'5'} {'5'} {'6'} {'7'} {'10'} {'Q'} {'3'} {'K'} {'7'} {'10'}
suits3 = extract(cards, lettersPattern(1) + lineBoundary)
suits3 = 1×10 cell array
{'H'} {'C'} {'S'} {'S'} {'D'} {'C'} {'S'} {'S'} {'S'} {'D'}
ranks4 = extract(cards, asManyOfPattern(characterListPattern("A1234567890JQK"),1))
ranks4 = 1×10 cell array
{'5'} {'5'} {'6'} {'7'} {'10'} {'Q'} {'3'} {'K'} {'7'} {'10'}
suits4 = extract(cards, characterListPattern("CDHS"))
suits4 = 1×10 cell array
{'H'} {'C'} {'S'} {'S'} {'D'} {'C'} {'S'} {'S'} {'S'} {'D'}
ranks5 = regexp(cards, '[0-9AJQK]+', 'match', 'once')
ranks5 = 1×10 cell array
{'5'} {'5'} {'6'} {'7'} {'10'} {'Q'} {'3'} {'K'} {'7'} {'10'}
suits5 = regexp(cards, '[CDHS]', 'match', 'once')
suits5 = 1×10 cell array
{'H'} {'C'} {'S'} {'S'} {'D'} {'C'} {'S'} {'S'} {'S'} {'D'}

카테고리

Help CenterFile Exchange에서 Tables에 대해 자세히 알아보기

태그

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by