English | 日本語 | 繁体中文
- Top
- Node / Image Node / Text Node / XYPlot Node / Float Palet
- Workflow
# Node
## :tomato: 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](https://github.com/yolain/ComfyUI-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
- 計算提示詞的標記數量