๐Ÿ‘ฉ‍๐Ÿ’ป/ruby & python

[python & ruby] ๋ฌธ์ž์—ด์„ ์ œ์–ดํ•˜๊ธฐ

ํ•œ๋‚˜ 2020. 3. 16. 16:35

์ƒํ™œ์ฝ”๋”ฉ์œผ๋กœ ํ•™์Šต ์ค‘. 'ํ•œ๊ธ€'์ด๋ผ๋Š” ๋‹จ์–ด๋ฅผ ์‚ดํŽด๋ณด๋ฉด, ๋ฌธ์ž์™€ ๋ฌธ์ž์˜ ๊ฒฐํ•ฉ์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฌธ์ž์—ด์ด๋ผ ๋ถ€๋ฅผ ์ˆ˜ ์žˆ๋‹ค. ํ•˜๋‚˜์˜ ๋ฌธ์ž๋Š” character, ๋ฌธ์ž์˜ ํ•ฉ์€ ๋ฌธ์ž์—ด์ด๋ผ๋Š” ์˜๋ฏธ์—์„œ string์œผ๋กœ ๋ถ€๋ฅธ๋‹ค.

 

 

์•„๋ž˜๋Š” ๊ฐ๊ฐ ๋ฃจ๋น„์—์„œ 

1) ๋ฌธ์ž์—ด์˜ ์ฒซ ๊ธ€์ž๋ฅผ ๋Œ€๋ฌธ์ž๋กœ ๋ฐ”๊พธ์–ด์ฃผ๋Š”

2) ๋ฌธ์ž์—ด์„ ์ „๋ถ€ ๋Œ€๋ฌธ์ž๋กœ ๋ฐ”๊พธ์–ด์ฃผ๋Š”

3) ๋ฌธ์ž์—ด์˜ ๊ธ€์ž ์ˆ˜๋ฅผ ์„ธ์›Œ์ฃผ๋Š”

4) ๋ฌธ์ž์—ด์˜ ํŠน์ • ๋ฌธ์ž์—ด์„ ๋‹ค๋ฅธ ๋ฌธ์ž์—ด๋กœ ์น˜ํ™˜ํ•ด์ฃผ๋Š” ๊ธฐ๋Šฅ์˜ ์ฝ”๋“œ๋“ค. 

 

puts('hello world'.capitalize())
puts('hello world'.upcase())
puts('hello world'.length())
puts('Hello world'.sub('world', 'programming'))

 

์œ„ ์ฝ”๋“œ๋ฅผ cmd์—์„œ ์‚ดํŽด๋ณด๋ฉด

ํŒŒ์ด์ฌ๋„ ๋น„์Šทํ•˜๋‹ค. 

์•„๋ž˜๋Š” ๊ฐ๊ฐ ํŒŒ์ด์ฌ์—์„œ

1) ๋ฌธ์ž์—ด์˜ ์ฒซ ๊ธ€์ž๋ฅผ ๋Œ€๋ฌธ์ž๋กœ ๋ฐ”๊พธ์–ด์ฃผ๋Š”

2) ๋ฌธ์ž์—ด์„ ์ „๋ถ€ ๋Œ€๋ฌธ์ž๋กœ ๋ฐ”๊พธ์–ด์ฃผ๋Š”

3)~4) ๋ฌธ์ž์—ด์˜ ๊ธ€์ž ์ˆ˜๋ฅผ ์„ธ์–ด์ฃผ๋Š”

5) ๋ฌธ์ž์—ด์˜ ํŠน์ • ๋ฌธ์ž์—ด์„ ๋‹ค๋ฅธ ๋ฌธ์ž์—ด๋กœ ์น˜ํ™˜ํ•ด์ฃผ๋Š” ๊ธฐ๋Šฅ์˜ ์ฝ”๋“œ๋“ค. 

 

 

print('hello world'.capitalize())
print('hello world'.upper())
print('hello world'.__len__())
print(len('hello world'))
print('Hello world'.replace('world', 'programming'))

์œ„ ์ฝ”๋“œ๋ฅผ cmd์—์„œ ์‚ดํŽด๋ณด๋ฉด

 

note : ๋ฃจ๋น„์—์„œ์˜ sub์€ ๋ฌธ์ž์—ด์—์„œ ๋™์ผํ•œ ์ฒซ ๋ฒˆ์งธ ๋ฌธ์ž์—ด๋งŒ ๋ณ€๊ฒฝํ•ด์ฃผ๋ฉฐ, ํŒŒ์ด์ฌ์—์„œ์˜ replace๋Š” ๋ฌธ์ž์—ด์—์„œ ๋™์ผํ•œ ๋ชจ๋“  ๋ฌธ์ž์—ด์„ ๋ณ€๊ฒฝํ•ด์คŒ. 

 

puts('hello world hello ruby'.sub('hello', 'hi'))

 

ํ•ด๋‹น ๋ฌธ์ž์—ด ์•ˆ์—์„œ 'hello'์— ์ƒ์‘ํ•˜๋Š” ์ฒซ ๋ฒˆ์งธ ๋ฌธ์ž์—ด๋งŒ 'hi'๋กœ ๋ณ€๊ฒฝ๋œ ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

 

print('hello world hello python'.replace('hello', 'hi'))

 

ํŒŒ์ด์ฌ์—์„œ๋Š” ํ•ด๋‹น ๋ฌธ์ž์—ด ์•ˆ์—์„œ 'hello'์— ์ƒ์‘ํ•˜๋Š” ๋ชจ๋“  ๋ฌธ์ž์—ด์ด 'hi'๋กœ ๋ณ€๊ฒฝ๋˜์—ˆ๋‹ค. 

 

 

ํŠน์ˆ˜ํ•œ ๋ฌธ์ž ์ฒ˜๋ฆฌ๋ฅผ ํ•  ๋•Œ์—๋Š” ์•„๋ž˜ ๊ฐ™์€ ๊ธฐ๋Šฅ์„ ์“ธ ์ˆ˜ ์žˆ๋‹ค. 

 

๋ฃจ๋น„์—์„œ 

1)~2) ๋ฌธ์ž์—ด์˜ ์‹œ์ž‘๊ณผ ๋์„ ์•Œ๋ฆฌ๋Š” ๊ธฐํ˜ธ๋กœ์จ ์“ฐ๋Š” ๊ฒƒ์ด ์•„๋‹Œ, ๋”ฐ์˜ดํ‘œ๋ฅผ '๋ฌธ์ž'์ฒ˜๋Ÿผ ์“ฐ๊ณ ์ž ํ•  ๋•Œ ์“ฐ๊ณ ์ž ํ•˜๋Š” ๋ฌธ์ž ์•ž์—์„œ ์—ญ์Šฌ๋ž˜์‹œ(\)๋ฅผ ์“ฐ๊ธฐ

3) ์—ญ์Šฌ๋ž˜์‹œ๋ฅผ ๋ฌธ์ž์ฒ˜๋Ÿผ ์“ฐ๊ณ ์ž ํ•  ๋•Œ, ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์—ญ์Šฌ๋ž˜์‹œ๋ฅผ ์•ž์— ์จ์ฃผ๊ธฐ. (escape character๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค)

4) ๋ฌธ์ž์—ด ์•ˆ์—์„œ ์ƒˆ๋กœ์šด ๋ผ์ธ(New line)์„ ๋„ฃ๊ณ ์ž ํ•  ๋•Œ \n ์“ฐ๊ธฐ

5) ๋ฌธ์ž์—ด ์•ˆ์—์„œ tap์„ ๋„ฃ๊ณ ์ž ํ•  ๋•Œ ์›ํ•˜๋Š” ๋งŒํผ \t ์“ฐ๊ธฐ

6) ์•Œ๋ฆผ(alert)์˜ ๊ฒฝ๊ณ ์Œ์„ ์ถœ๋ ฅํ•˜๊ณ ์ž ํ•  ๋•Œ \a ์“ฐ๊ธฐ

 

note : ๋ฃจ๋น„์—์„œ์˜ ํ™‘๋”ฐ์˜ดํ‘œ(์ž‘์€๋”ฐ์˜ดํ‘œ)๋Š” ํŒŒ์ด์ฌ๊ณผ ๋‹ค๋ฅด๋‹ค. ์ž‘์€ ๋”ฐ์˜ดํ‘œ ์•ˆ์— ๋ฌธ์ž์—ด์„ ๋„ฃ์„ ๊ฒฝ์šฐ ํ•ด๋‹น ๋ฌธ์ž์—ด์ด ๊ทธ๋Œ€๋กœ ์ถœ๋ ฅ๋˜์–ด ๋‚˜์˜จ๋‹ค. ๋ฐ˜๋ฉด ํŒŒ์ด์ฌ์—์„œ๋Š” ์ž‘์€ ๋”ฐ์˜ดํ‘œ์™€ ํฐ ๋”ฐ์˜ดํ‘œ์˜ ๊ตฌ๋ถ„์ด ์—†์–ด ๊ทธ ์•ˆ์˜ ๋ฌธ์ž์—ด์ด ๊ทธ๋Œ€๋กœ ์ถœ๋ ฅ๋˜๋Š” ๋Œ€์‹  ํŠน์ˆ˜๋ฌธ์ž๋“ค์€ ์ฒ˜๋ฆฌ๊ฐ€ ๋œ ์ƒํƒœ๋กœ ๊ฐ€๊ณต๋˜์–ด ์ถœ๋ ฅ๋œ๋‹ค. 

puts("egoing's \"tutoral\"")
puts("hannah\'s 'journal'")
puts("\\")
puts("hello\nworld")
puts("hello\t\tworld")
puts("\a")
puts('Hello\nworld')

 

 

ํŒŒ์ด์ฌ์—์„œ๋„ ๊ฑฐ์˜ ๋น„์Šทํ•œ ๊ตฌ๋ฌธ์„ ์“ด๋‹ค. 

 

1) ๋ฌธ์ž์—ด์˜ ์‹œ์ž‘๊ณผ ๋์„ ์•Œ๋ฆฌ๋Š” ๊ธฐํ˜ธ๋กœ์จ ์“ฐ๋Š” ๊ฒƒ์ด ์•„๋‹Œ, ๋”ฐ์˜ดํ‘œ๋ฅผ '๋ฌธ์ž'์ฒ˜๋Ÿผ ์“ฐ๊ณ ์ž ํ•  ๋•Œ ์“ฐ๊ณ ์ž ํ•˜๋Š” ๋ฌธ์ž ์•ž์—์„œ ์—ญ์Šฌ๋ž˜์‹œ(\)๋ฅผ ์“ฐ๊ธฐ

2) ์—ญ์Šฌ๋ž˜์‹œ๋ฅผ ๋ฌธ์ž์ฒ˜๋Ÿผ ์“ฐ๊ณ ์ž ํ•  ๋•Œ, ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์—ญ์Šฌ๋ž˜์‹œ๋ฅผ ์•ž์— ์จ์ฃผ๊ธฐ. (escape character๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค)

3) ๋ฌธ์ž์—ด ์•ˆ์—์„œ ์ƒˆ๋กœ์šด ๋ผ์ธ(New line)์„ ๋„ฃ๊ณ ์ž ํ•  ๋•Œ \n ์“ฐ๊ธฐ

4) ๋ฌธ์ž์—ด ์•ˆ์—์„œ tap์„ ๋„ฃ๊ณ ์ž ํ•  ๋•Œ ์›ํ•˜๋Š” ๋งŒํผ \t ์“ฐ๊ธฐ

5) ์•Œ๋ฆผ(alert)์˜ ๊ฒฝ๊ณ ์Œ์„ ์ถœ๋ ฅํ•˜๊ณ ์ž ํ•  ๋•Œ \a ์“ฐ๊ธฐ

print("hannah\'s 'journal'")
print("\\")
print("Hello\nworld")
print("Hello\t\tworld")
print("\a")
print('Hello\nworld')