8.36. hasspace 空白類文字検索

  • 書式1: hasspace(str,長さ)

  • 書式2: hasspacew(str,長さ)

文字列 \(str\) に空白類文字列が含まれていれば真を、含まれていなければ偽を返す。 空白類文字とは、ASCIIコードの0x20および0x09〜0x0dまでの事をいう。 それぞれ、半角スペース(0x20)、水平tab(0x09)、改行(0x0a)、垂直タブ(0x0b)、改ページ(0x0c)、復帰(0x0d)である。 マルチバイト文字における空白類文字を検索したければhasspacewを使うこと。

利用例

importと入力データ(CSV)の準備

 1import nysol.mcmd as nm
 2
 3with open('dat1.csv','w') as f:
 4  f.write(
 5'''id,str
 61,a b
 72,ab        c
 83,ab c
 94,
105,"aa
11bb"
12''')

基本例

str 項目に空白類文字列が含まれていれば真を返す。 id=1 の行は半角スペース文字が含まれ、 id=2 の行はtab文字が含まれ、 そして id=4 の行は改行文字が含まれているために真となっている。 ここで、 id=3 の行は全角スペースのため、検知できていない。

1nm.mcal(c='hasspace($s{str})', a='rsl', i="dat1.csv", o="rsl1.csv").run()
2### rsl1.csv の内容
3# id,str,rsl
4# 1,a b,1
5# 2,ab      c,1
6# 3,ab c,0
7# 4,,0
8# 5,"aa
9# bb",1

マルチバイト文字

hasspacew関数を使えば全角スペースも正しく検知できる。

1nm.mcal(c='hasspacew($s{str})', a='rsl', i="dat1.csv", o="rsl2.csv").run()
2### rsl2.csv の内容
3# id,str,rsl
4# 1,a b,1
5# 2,ab      c,1
6# 3,ab c,1
7# 4,,0
8# 5,"aa
9# bb",1