c# - 在文本块 wpf 中每 4 个字符后添加一个空格
问题描述
我有一个卡片文本块,用于向用户显示卡号:
<TextBlock x:Name="ccCard" Text="0000 0000 0000 0000" HorizontalAlignment="Center"
Foreground="LightGray" FontFamily="Global Monospace" Grid.ColumnSpan="4" Margin="0,0,0,0.4" Width="200"/>
我已经做到了,当一个文本框被写入时,它将它输入到文本块中:
<TextBlock x:Name="ccCard" Text="0000 0000 0000 0000" HorizontalAlignment="Center"
Foreground="LightGray" FontFamily="Global Monospace" Grid.ColumnSpan="4" Margin="0,0,0,0.4"
Width="200"/>
我想让它在textblock中每 4 个字符添加一个空格,否则如果它是一个文本框,我可以使用这样的东西:
我怎么能做到这一点?
解决方案
对于任何想知道的人,正如 Çöđěxěŕ 所建议的那样,答案看起来像这样:
ccCard.Text = string.Join(" ", Enumerable.Range(0, txtBox.Text.Length / 4).Select(i => txtBox.Text.Substring(i * 4, 4)));
推荐阅读
- java - 尝试创建 EntityManagerFactory 时线程“主”org.hibernate.service.spi.ServiceException 中的异常
- bash - 将json值提取到zsh shell脚本中的变量
- javascript - 直接打开弹窗的功能
- c++ - 使用降序向量实现最小堆的priority_queue的语法差异
- javascript - 在递归循环中调用 setter
- javascript - for循环提到的条件是否存在逻辑错误?
- php - ConvertAPI 转换失败,并显示“最大执行时间...超过”
- python - 有没有办法在python中转换输入之前检查输入是否为整数?
- javascript - 在 yii2 项目中管理 CSS 和 Javascript 的有效方法
- python - 刮 1a. 10K 文件的风险因素