Files
da2el-ai-D2-nodes-ComfyUI/docs/zh/node_text.md
T
2025-03-31 22:35:49 +09:00

4.7 KiB
Raw Blame History

English | 日本語 | 繁体中文

Node

🍅 Text Node

D2 Regex Replace

  • 可使用正規表達式進行替換
  • 可指定多個條件
  • 可重複使用正規表達式的匹配字串(如\1、\2等)
  • 可按「標籤單位」和「整體」指定目標字串

Input

  • text
    • 搜索目標字串
  • mode
    • Tag: 將 text 用換行和「,」分解,個別替換
    • Advanced: 整體替換 text
  • regex_and_output
    • 搜索字串和輸出字串列表
    • 按以下格式填寫
    • 輸出字串為空時則刪除匹配部分
    • 數量沒有上限
搜索字串 1
--
輸出字串 1
--
搜索字串 2
--
輸出字串 2

Output

  • text
    • 替換處理後的文字

Sample

刪除 Pony 系列品質標籤的範例。

Mode: Tag

Input text

score_9, score_8_up, (score_7_up, score_6_up:0.8) , rating_explicit, source_anime, BREAK
1girl, swimsuit

Regex Replace

.*(score_|rating_|source_).*
--
--
BREAK
--

Output text

1girl, swimsuit

D2 Regex Switcher

  • 用正規表達式搜索輸入文字,輸出匹配的文字
  • 主要目的是切換每個 Checkpoint 的品質標籤
  • 在輸入的 text 中發現匹配字串時,輸出目標字串和匹配順序(從0開始)
  • 上圖中接收到 ioliPonyMixV4.safetensors 並匹配搜索條件 pony,因此輸出 score_9
  • 因為匹配第一個搜索條件,所以 index 輸出 0
  • 未匹配任何條件時輸出 -1
  • 也可進行前後字串連接

Input

  • text
    • 搜索目標字串
  • prefix
    • 前方連接的字串
  • suffix
    • 後方連接的字串
  • regex_and_output
    • 搜索字串和輸出字串列表
    • 按以下格式填寫
  • pre_delim
    • 連接 prefix 和 regex_and_output 時插入的字元
    • Comma: , / Line break: 換行 / None: 不插入
  • suf_delim
    • 連接 regex_and_output 和 suffix 時插入的字元
搜索字串 1(可使用正規表達式)
--
輸出字串 1
--
搜索字串 2(可使用正規表達式)
--
輸出字串 2
--
--
無匹配時輸出的字串

Output

  • combined_text
    • 連接 prefix + 輸出字串 + suffix 的字串
  • prefix / suffix
    • Input 的直通

使用範例

此例中將匹配的編號(index)傳遞給 Easy Use 的 Text Index Switch 進行切換。

因為不匹配時會變成 -1,所以使用匹配所有字串的正規表達式 .+ 代替默認輸出。


D2 Multi Output

  • 以列表形式輸出 seed、cfg 等通用參數的節點

Input

  • type
    • FLOAT: 浮點數。用於 CFG 等
    • INT: 整數。用於 steps 等
    • STRING: 字串。用於 sampler 等
    • SEED: 可用隨機數生成按鈕輸入 seed 值
  • Add Random
    • 在輸入欄位添加隨機數
    • 僅在 type 為 SEED 時顯示

D2 Filename Template

  • 用於創建文件名的節點
  • 可以引入外部元素

Input

  • arg_1 arg_2 arg_3
    • 從其他節點導入值
  • format
    • %date:{yyyy/MM/dd/hh/mm/ss}%
      • yyyy: 年
      • MM: 月
      • dd: 日
      • hh: 時
      • mm: 分
      • ss: 秒
    • %node:{id}.{key}%
      • 通過指定節點ID和項目名稱來獲取值
      • 示例:%node:8.width%: 從ID為8的節點獲取width值
    • %arg_1%(2和3相同)
      • 嵌入輸入的值
    • %arg_1:ckpt_name%(2和3相同)
      • 嵌入移除 .safetensors 後的檢查點名稱

Example

%date:yyyyMMdd-hhmmss%_%arg_1:ckpt_name%
👇
20241219-021926_obsessionIllustrious_v31

D2 Delete Comment

  • 刪除文本中的註釋
  • 目標為行首「#」、行首「//」以及「/*」到「*/」之間的內容

關於註釋快捷鍵

  • 所有文字框都可使用註釋快捷鍵(ctrl + /)
  • 可在 Settings > D2 > shortcutKey 更改快捷鍵
  • 若要停用,請刪除上述內容

D2 Token Counter

  • 計算提示詞的標記數量