[Rust] ๋ฌธ์ž์—ด

๋Ÿฌ์ŠคํŠธ์—์„œ๋Š” UTF-8์„ ๊ธฐ๋ณธ ํฌ๋งท์œผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค. ์ด๊ฒŒ ๋ฌด์Šจ ๋ง์ด๋ƒ๋ฉด, ์ž๋ฐ”๋‚˜ C#์ฒ˜๋Ÿผ 2๋ฐ”์ดํŠธ์งœ๋ฆฌ ์™„์„ฑํ˜• ์œ ๋‹ˆ์ฝ”๋“œ๊ฐ€ ์•„๋‹Œ ๊ฐ€๋ณ€์‚ฌ์ด์ฆˆ์˜ ์œ ๋‹ˆ์ฝ”๋“œ๋ฅผ ์“ด๋‹ค๋Š” ๋ง์ด๋‹ค.

utf8์€ ๊ธฐ๋ณธ์ ์œผ๋กœ 1๋ฐ”์ดํŠธ๋‹จ์œ„๋กœ ๋ฌธ์ž๋ฅผ ์ฒ˜๋ฆฌํ•œ๋‹ค. ์•„์Šคํ‚ค์ฝ”๋“œ 1๋ฐ”์ดํŠธ์— ํ•ด๋‹นํ•˜๋Š” ๋ฌธ์ž์ผ ๊ฒฝ์šฐ 1๋ฐ”์ดํŠธ๋งŒ ์“ฐ์ง€๋งŒ,
2๋ฐ”์ดํŠธ ํฌ๋งท์— ํ•ด๋‹นํ•˜๋Š” ๋ฌธ์ž๋ผ๋ฉด ๊ทธ ํ•œ ๋ฌธ์ž์— 2๋ฐ”์ดํŠธ๋งŒํผ์„ ์“ฐ๊ณ ,
ํ•œ๊ธ€๊ฐ™์€ ๊ฒฝ์šฐ์—๋Š” ๊ธ€์ž๋‹น 3๋ฐ”์ดํŠธ๋ฅผ ์“ด๋‹ค.
4๋ฐ”์ดํŠธ๋„ ์žˆ๋‹ค๋Š”๋ฐ ๋ญ๊ฐ€ ์žˆ๋Š”์ง„ ์ž˜ ๋ชจ๋ฅธ๋‹ค.

์ผ๋‹จ ์˜ˆ์‹œ๋ฅผ ๋ณด์ž.

len()๋ฉ”์†Œ๋“œ๋Š” ๋ฌธ์ž์—ด์˜ '๋ฐ”์ดํŠธ'์ˆ˜๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค. image

image hello๋Š” ์•„์Šคํ‚ค๋‹ˆ๊นŒ 1๋ฐ”์ดํŠธ์”ฉ ํ•ด์„œ 5๊ฐ€ ๋‚˜์™”๊ณ ,
์•ˆ๋…•์€ ํ•œ๊ธ€์ด๋‹ˆ๊นŒ 3๋ฐ”์ดํŠธ์”ฉ ํ•ด์„œ 6์ด ๋‚˜์™”๋‹ค.

์ด๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ์œ ์—ฐ์„ฑ๊ณผ ํ˜ธํ™˜์„ฑ์€ ๊ดœ์ฐฎ์ง€๋งŒ ์ง๊ด€์„ฑ์ด๋‚˜ ์„ฑ๋Šฅ์— ์†ํ•ด๋ฅผ ๋ณด๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋‹ค.

๋ญ ๊ฐ์•ˆํ• ๋งŒํ•œ ๊ฐ€์น˜๊ฐ€ ์žˆ์œผ๋‹ˆ ์“ฐ๊ฒ ์ง€๋งŒ์€...


์–ด์จŒ๋“  ์ง„์งœ ๋ฌธ์ž์˜ ๊ฐœ์ˆ˜๋ฅผ ์„ธ๋ ค๋ฉด ์ด๋ ‡๊ฒŒ ํ•ด์•ผํ•œ๋‹ค. image

image chars๋Š” char์˜ ๋ฐฐ์—ด ๊ฐ์ฒด๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
char์€ ์œ ๋‹ˆ์ฝ”๋“œ์˜ ์ƒํ•œ์น˜์ธ 4๋ฐ”์ดํŠธ์งœ๋ฆฌ๋ผ์„œ ์ €๊ธฐ ์•ˆ์— ๋ชจ๋“  ๋ฌธ์ž๋“ค์„ ๋„ฃ์„ ์ˆ˜๊ฐ€ ์žˆ๊ณ ,
์ œ๋Œ€๋กœ ๋ฌธ์ž์˜ ๊ฐœ์ˆ˜๋ฅผ ์…€์ˆ˜ ์žˆ๋‹ค.

ํ•˜์ง€๋งŒ ๊ทธ๋งŒํผ ์„ฑ๋Šฅ๊ณผ ๋ฉ”๋ชจ๋ฆฌ์˜ ๋‚ญ๋น„๊ฐ€ ์‹ฌํ•˜๊ฒ ๋‹ค.

utf8์ฒด๊ณ„ ์ž์ฒด๊ฐ€ ์šธํ‰๋ถˆํ‰ํ•˜๋‹ˆ ์–ด์ฉ”์ˆ˜ ์—†๋Š” ๊ฒƒ...

์•„ ๊ทธ๋ฆฌ๊ณ  [i] ์ธ๋ฑ์‹ฑ๋„ ์•ˆ๋œ๋‹ค.



์ด์ œ ํƒ€์ž…์„ ๋ณด์ž.

๋Ÿฌ์ŠคํŠธ์˜ ๋ฌธ์ž์—ด ํƒ€์ž…์—๋Š” &str๊ณผ String์ด ์žˆ๋‹ค.

๋”ฐ์ง€์ž๋ฉด String์ด ๋” ๊ทผ๋ณธ์ ์ธ ๋ฌธ์ž์—ด ํƒ€์ž…์ด๊ณ ,

&str์€ String์— ๋Œ€ํ•œ ๋ณ€๊ฒฝ ๋ถˆ๊ฐ€๋Šฅํ•œ ์ฐธ์กฐ(์Šฌ๋ผ์ด์Šค)๋ผ๊ณ  ๋ณผ ์ˆ˜๋„ ์žˆ๊ฒ ๋‹ค.

๋ฌธ์ž์—ด ๋ฆฌํ„ฐ๋Ÿด๋„ &str์œผ๋กœ ๋‹ค ์ฒ˜๋ฆฌ๋ฅผ ํ•˜๊ณ , ๋ญ &str์ด ๋” ๊ฐ€๋ณ๊ณ  ๋น ๋ฅด๊ธด ํ•˜๊ฒ ์ง€๋งŒ

์ข€ ๋ฌธ์ž์—ด์„ ์œ ๋™์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๋ ค๋ฉด ๋ฐ˜๋“œ์‹œ String์„ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.

์ด๋Ÿด๊ฒฝ์šฐ์—” ๋Œ€๋žต:
String์˜ ์ƒ์„ฑ์šฉ ์ •์  ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๊ณผ, &str ๋ฆฌํ„ฐ๋Ÿด์˜ to_string ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ• ๋‘๊ฐ€์ง€๊ฐ€ ์žˆ๋Š”๋ฐ. ๊ฐœ์ธ์ ์œผ๋กœ๋Š” ํ›„์ž๊ฐ€ ๋” ์“ฐ๊ธฐ๋Š” ํŽธํ•œ๊ฒƒ๊ฐ™๋‹ค. image

image ์ด๋Ÿฐ์‹์œผ๋กœ ์จ๋จน์„์ˆ˜ ์žˆ๋‹ค.


https://doc.rust-lang.org/std/string/struct.String.html#method.find

๋ ˆํผ๋Ÿฐ์Šค๋ฅผ ๋ณด์ž.