末尾の0を削除する正規表現ですが、値を特定の長さに保ちます

アルジュン

末尾のゼロの値を削除する必要がありますが、値の最終的な長さを4に保つ必要もあります。

+--------+
|codes   |
+--------+
|  541100|
|  54100 |
|  05810 |
|  581200|
|  58140 |
|  54110 |
|  48140 |
|  481400|
|  723000 |
|  52000 |
+--------+

以下の行は、すべての後続ゼロをトリミングしています。長さが4を維持していることを確認するにはどうすればよいですか。

df.withColumn("strip_codes", regexp_replace(col("codes"), "^([0]+(?!$))|0*$", ""))

また、05810末尾のゼロの正規表現に一致する値を無視したいo / p DF

+--------+
|strip_codes   |
+--------
|  5411|
|  5410|
|  05810|
|  5812|
|  5814|
|  5411|
|  4814|
|  4814|
|  7230|
|  5200|
+--------+

既存の正規表現にどのような変更を加える必要がありますか。

レオC

次のスニペットは、長さが6を超えるコードを無効にし、特別なリストに一致するコードは変更しないままにします。残りの部分については、regexパターンはすべての先行ゼロを削除し、次の4桁を保持し、残りの後続ゼロをトリミングします。

import org.apache.spark.sql.functions._

val df = Seq(
  "541100", "54110", "05810", "581200", "58140", 
  "54110", "48140", "481400", "723000", "52000",
  "0742", "0763", "001234", "123", "1234560"
).toDF("codes")

val specialList = Array("0742", "0763", "0780")

df.withColumn("strip_code", when(length($"codes") > 6, null).otherwise(
  when($"codes".isin(specialList: _*), $"codes").otherwise(
    regexp_replace($"codes", "^[0]*(\\d{4}.*?)[0]*$", "$1"))
  )
).show
// +-------+----------+
// |  codes|strip_code|
// +-------+----------+
// | 541100|      5411|
// |  54110|      5411|
// |  05810|      5810|
// | 581200|      5812|
// |  58140|      5814|
// |  54110|      5411|
// |  48140|      4814|
// | 481400|      4814|
// | 723000|      7230|
// |  52000|      5200|
// |   0742|      0742|
// |   0763|      0763|
// | 001234|      1234|
// |    123|       123|
// |1234560|      null|
// +-------+----------+

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

特定の数の長さの正規表現をbashする

分類Dev

検索とのIntelliJで正規表現置換するが、マッチした正規表現の一部を保ちますか?

分類Dev

正規表現を使用して、小数点なしで数値の末尾に「.0」を追加します

分類Dev

特定の文字列で始まり、その後に何かが続くすべてを削除する正規表現?

分類Dev

特定の長さを強制すると同時に、数字で始まらない正規表現

分類Dev

先頭と末尾の特定の文字列を削除するJavascript正規表現

分類Dev

正規表現を使用して末尾の空白を削除する

分類Dev

notepad ++で、特定の長さより長い引用符の間の文字列を削除する正規表現またはパターン

分類Dev

正規表現の交替で最長の文字列に一致することが保証された方法

分類Dev

コメントの末尾を削除する正規表現

分類Dev

0の先頭と末尾を指定せずに数値を許可するための正規表現

分類Dev

特定の単語の後に値を取得する正規表現

分類Dev

正規表現で末尾の小数点とゼロを削除する

分類Dev

英数字を使用した正規表現で、文字列の長さを確認する必要があります

分類Dev

この特定の正規表現を理解するのに助けが必要です[^。]

分類Dev

特定の文字が3回以上出現する行を削除する正規表現

分類Dev

特定の長さの文を選択するための正規表現

分類Dev

Javascript-正規表現-指定された長さの単語を削除する方法

分類Dev

Unicode正規表現で特定の文字クラス部分に長さ制限を設定する

分類Dev

文字列から特定の文字を削除する正規表現は、開始時と終了時に予期されます

分類Dev

正規表現は、特定の文字と3桁の数字を入力するのに役立ちます

分類Dev

特定の正規表現を作成するのに助けが必要です

分類Dev

正規表現:特定の文字を含む特定の長さの文字列に一致しますか?

分類Dev

特定の長さの複数行を検索するJava正規表現

分類Dev

正規表現の英数字ですが、数値を取得すると、数値のみになります

分類Dev

特定の単語が表示されるまで特定の情報を抽出する正規表現

分類Dev

JMeterでは、特定の正規表現を抽出する必要があります

分類Dev

偶数の1を持ち、0で開始および終了する文字列に一致する正規表現

分類Dev

正規表現-@が最後に出現する前に特定の文字を削除する

Related 関連記事

  1. 1

    特定の数の長さの正規表現をbashする

  2. 2

    検索とのIntelliJで正規表現置換するが、マッチした正規表現の一部を保ちますか?

  3. 3

    正規表現を使用して、小数点なしで数値の末尾に「.0」を追加します

  4. 4

    特定の文字列で始まり、その後に何かが続くすべてを削除する正規表現?

  5. 5

    特定の長さを強制すると同時に、数字で始まらない正規表現

  6. 6

    先頭と末尾の特定の文字列を削除するJavascript正規表現

  7. 7

    正規表現を使用して末尾の空白を削除する

  8. 8

    notepad ++で、特定の長さより長い引用符の間の文字列を削除する正規表現またはパターン

  9. 9

    正規表現の交替で最長の文字列に一致することが保証された方法

  10. 10

    コメントの末尾を削除する正規表現

  11. 11

    0の先頭と末尾を指定せずに数値を許可するための正規表現

  12. 12

    特定の単語の後に値を取得する正規表現

  13. 13

    正規表現で末尾の小数点とゼロを削除する

  14. 14

    英数字を使用した正規表現で、文字列の長さを確認する必要があります

  15. 15

    この特定の正規表現を理解するのに助けが必要です[^。]

  16. 16

    特定の文字が3回以上出現する行を削除する正規表現

  17. 17

    特定の長さの文を選択するための正規表現

  18. 18

    Javascript-正規表現-指定された長さの単語を削除する方法

  19. 19

    Unicode正規表現で特定の文字クラス部分に長さ制限を設定する

  20. 20

    文字列から特定の文字を削除する正規表現は、開始時と終了時に予期されます

  21. 21

    正規表現は、特定の文字と3桁の数字を入力するのに役立ちます

  22. 22

    特定の正規表現を作成するのに助けが必要です

  23. 23

    正規表現:特定の文字を含む特定の長さの文字列に一致しますか?

  24. 24

    特定の長さの複数行を検索するJava正規表現

  25. 25

    正規表現の英数字ですが、数値を取得すると、数値のみになります

  26. 26

    特定の単語が表示されるまで特定の情報を抽出する正規表現

  27. 27

    JMeterでは、特定の正規表現を抽出する必要があります

  28. 28

    偶数の1を持ち、0で開始および終了する文字列に一致する正規表現

  29. 29

    正規表現-@が最後に出現する前に特定の文字を削除する

ホットタグ

アーカイブ