ruby_toys 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.DS_Store +0 -0
- data/lib/ruby_toys/japanese.rb +29 -0
- data/lib/ruby_toys/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 57a09073280ac5aa6d1b7c66a7be577803842cef6c35a21e0c3239193b44d270
|
|
4
|
+
data.tar.gz: 0c99e587399ab6e91cee39c840692ab749f7e703fb132d28bfb51f0560f6df80
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: f469b1c075e9a050ad280b48bbbe48c7a25456582ff7dd3e9fd1533fe4c90e6e58b22b37c745105e351274c7af32325ae0838d80f6bcc837d7a88b5741727125
|
|
7
|
+
data.tar.gz: bfc964d8c43b5628335e0fd238743d01ac8e419f3e24fedd7c86042548ebf7679a4343cd502622079b4982e5b329f2b7f6ccfb37e7e8f3e49e75b7793ff6b77a
|
data/.DS_Store
ADDED
|
Binary file
|
data/lib/ruby_toys/japanese.rb
CHANGED
|
@@ -23,9 +23,38 @@ module RubyToys
|
|
|
23
23
|
str
|
|
24
24
|
end
|
|
25
25
|
|
|
26
|
+
# 英単語の前後の空白だけを削除する
|
|
27
|
+
def self.format_word(text)
|
|
28
|
+
# ChatGPTが解決できずGeminiに教えて貰う(英単語を検索する方法ではうまくいかず、日本語文字列を指定する方法)
|
|
29
|
+
# 1. 文字列全体の先頭と末尾の空白を削除(trim)
|
|
30
|
+
trimmed_text = text.strip
|
|
31
|
+
|
|
32
|
+
# 2. 英単語以外の文字(ここでは日本語を想定)の直前・直後の空白を削除
|
|
33
|
+
# - \s* は0回以上の空白文字
|
|
34
|
+
# - ([\p{Han}\p{Hiragana}\p{Katakana}]+) は日本語の文字(漢字、ひらがな、カタカナ、記号)をキャプチャ
|
|
35
|
+
# - \1 はキャプチャした日本語の文字に戻す
|
|
36
|
+
cleaned_text = trimmed_text.gsub(/\s*([\p{Han}\p{Hiragana}\p{Katakana}\p{Punctuation}]+)\s*/, '\1')
|
|
37
|
+
|
|
38
|
+
# 3. 英語と日本語の間の空白も整えるため、再度全体をtrimする(念のため)
|
|
39
|
+
cleaned_text.strip
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
# 全角コロン or 半角コロン(後ろにスペースがない場合も含む)正規化
|
|
43
|
+
def self.format_colon(text)
|
|
44
|
+
text.gsub(/\s*[:\uFF1A]\s*/, ': ') # コロンの前に空白があれば削除
|
|
45
|
+
end
|
|
46
|
+
|
|
26
47
|
def self.format(str)
|
|
48
|
+
# puts "Input: #{str}"
|
|
49
|
+
# 最初に空白を削除しとかないとformat_colonが正しく動作しないので注意(あとからformat_wordを呼ぶと追加した空白が削除されてしまう)
|
|
50
|
+
str = format_word(str)
|
|
51
|
+
#puts "After word formatting: #{str}"
|
|
27
52
|
str = format_parentheses(str)
|
|
53
|
+
#puts "After parentheses: #{str}"
|
|
28
54
|
str = format_comma(str)
|
|
55
|
+
#puts "After comma: #{str}"
|
|
56
|
+
str = format_colon(str)
|
|
57
|
+
#puts "After colon: #{str}"
|
|
29
58
|
str
|
|
30
59
|
end
|
|
31
60
|
|
data/lib/ruby_toys/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: ruby_toys
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.3.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- src
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2025-10-
|
|
11
|
+
date: 2025-10-14 00:00:00.000000000 Z
|
|
12
12
|
dependencies: []
|
|
13
13
|
description: My Ruby Library
|
|
14
14
|
email:
|
|
@@ -18,6 +18,7 @@ executables:
|
|
|
18
18
|
extensions: []
|
|
19
19
|
extra_rdoc_files: []
|
|
20
20
|
files:
|
|
21
|
+
- ".DS_Store"
|
|
21
22
|
- ".ruby-version"
|
|
22
23
|
- CHANGELOG.md
|
|
23
24
|
- CODE_OF_CONDUCT.md
|