グラフデータベース(11):Neo4jでの文字列操作

文字列の基本的な操作関数

働き 関数の使用法
lTrim() 文字列の左側にある余分なスペースを削除します。たとえば、RETURN lTrim('hello')
rTrim() 文字列の右側にある余分なスペースを削除します。たとえば、RETURN rTrim('hello')
トリム() 文字列の左側と右側の余分なスペースを削除します(例:RETURNtrim('hello'))。
交換() 文字列を置き換えます。たとえば、RETURN replace( "hello"、 "l"、 "w")
逆行() 文字列の順序を逆にします。たとえば、RETURN reverse('anagram')
左() 文字列を左から右に取得し、右に戻り('hello'、3)、"hel"を返します
右() 文字列を右から左に取得し、右に戻り('hello'、3)、"llo"を返します
スプリット() 文字列を切り取り、RETURN split('one、two'、'、')、結果["one","two"]
substring() 文字列から文字列の一部を取得する
toLower() すべての文字を小文字に変換する
toUpper() すべての文字を大文字に変換します
toString() フォーマットを文字列に変換する

substring()

指定された開始位置から始まり、指定された長さを返す文字列を返します。

RETURN substring('hello', 1, 3)  # 结果"ell"
RETURN substring('hello', 2)   # 结果"llo"
  

文字列一致フィルター

STRATS WITH
演算子は、大文字と小文字を区別する文字列の先頭のテキストと照合するために使用されます

# 结果返回以Pet开头的人名
MATCH (n) 
WHERE n.name STARTS WITH 'Pet' 
RETURN n.name

ENDS WITH
 演算子は、文字列の最後のテキストと照合するために使用され、大文字と小文字も区別されます。

# 结果返回以ter结尾的人名
MATCH (n)
WHERE n.name ENDS WITH 'ter'
RETURN n.name

CONTAINS
演算子は、指定された文字列がまだテキスト文字列に含まれているかどうかを確認するために使用されます

# 结果返回包含ete的人名
MATCH (n)
WHERE n.name CONTAINS 'ete'
RETURN n.name

NOT
指定された文字列のすべての出現を結果から除外します

# 结果返回所有节点的名称中不以y结尾的节点。
MATCH (n)
WHERE NOT n.name ENDS WITH 'y'
RETURN n.name

一致する正規表現=~

サイファーの正規表現構文は、Java正規表現から継承されます。

一般的なものは次のとおりです。

  • (?i)大文字と小文字は区別されません

  • (?s)複数行

  • (?m)dotall

如: 查询以Tim开头的名称
MATCH (n)
WHERE n.name =~ 'Tim.*'
RETURN n.name

apocパッケージの文字列操作関数

働き 機能の説明
apoc.text.indexOf(text、lookup、offset = 0、to = -1 == len) 包括的(包括的)から排他的(排他的)まで、テキスト内で最初に出現する検索文字列を検索します。見つからない場合は-1、テキストがnullの場合はnullを検索します。
apoc.text.indexesOf(text、lookup、from = 0、to = -1 == len) テキスト内のルックアップ文字列のすべての出現箇所を検索し、インクルードから除外までのリスト、見つからない場合は空のリスト、テキストがnullの場合はnullを返します。
apoc.text.replace(テキスト、正規表現、置換) 指定された正規表現に一致する指定された文字列内の各サブ文字列を、指定された置換で置き換えます。
apoc.text.regexGroups(text、regex) 一致するたびにネストされた配列を含む配列を返します。内部配列には、一致するすべてのグループが含まれています。
apoc.text.join(['text1'、'text2'、…]、区切り文字) 指定された文字列を指定された区切り文字と連結します。
apoc.text.format(text、[params]、language) sprintfは、指定された引数とオプションの引数言語(デフォルトは「en」)を使用して文字列をフォーマットします。
apoc.text.lpad(text、count、delim) 指定された幅の左パッドストリング
apoc.text.rpad(text、count、delim) 与えられた幅に右パッドストリング
apoc.text.random(length、[valid]) 指定された長さのランダムな文字列を返します
apoc.text.capitalize(text) 単語の最初の文字を大文字にする
apoc.text.capitalizeAll(text) 各単語の最初の文字を大文字にします
apoc.text.decapitalize(text) 単語の最初の文字を大文字にする
apoc.text.decapitalizeAll(text) すべての単語の最初の文字を大文字にします
apoc.text.swapCase(text) スワップ文字列サイズ
apoc.text.camelCase(text) 将字符串转换为camelCase
apoc.text.upperCamelCase(text) 将字符串转换为UpperCamelCase
apoc.text.snakeCase(text) 将字符串转换为蛇形
apoc.text.toUpperCase(text) 将字符串转换为UPPER_CASE
apoc.text.charAt(text, index) 返回给定索引处字符的十进制值
apoc.text.code(codepoint) 返回给定代码点的unicode字符
apoc.text.hexCharAt(text, index) 返回给定索引处字符的十六进制值字符串
apoc.text.hexValue(value) 返回给定值的十六进制值字符串
apoc.text.byteCount(text,[charset]) 返回文本的大小(以字节为单位)
apoc.text.bytes(text,[charset]) - return bytes of the text apoc.text.toCypher(值,{skipKeys,keepKeys,skipValues,keepValues,skipNull,node,relationship,start,end})
tries it’s best to convert the value to a cypher-property-string apoc.text.base64Encode(text)-使用Base64编码字符串
apoc.text.base64Decode(text) - Decode Base64 encoded string apoc.text.base64UrlEncode(url)-使用Base64编码url

字符串操作符

在某些时候,需要将两个字符串连接起来,这个时候就需要用到 +字符串运算符

おすすめ

転載: blog.csdn.net/weixin_43145427/article/details/124211242