在 Bash 中,给定一个关联数组,如何找到最长键的长度?
比如说,我声明myArray如下:
$ declare -A myArray=([zero]=nothing [one]='just one' [multiple]='many many')
$ echo ${myArray[zero]}
nothing
$ echo ${myArray[one]}
just one
$ echo ${myArray[multiple]}
many many
$
Run Code Online (Sandbox Code Playgroud)
我可以使用下面的一行得到它
$ vSpacePad=`for keys in "${!myArray[@]}"; do echo $keys; done | awk '{print length, $0}' | sort -nr | head -1 | awk '{print $1}'`;
$ echo $vSpacePad
8
$
Run Code Online (Sandbox Code Playgroud)
我正在寻找像下面这样更简单的东西,但不幸的是,这些只是给出了数组中的项目数。
$ echo "${#myArray[@]}"
3
$ echo "${#myArray[*]}"
3
Run Code Online (Sandbox Code Playgroud) 我有一个像这样的对象类:
public class MyObject
{
[MaxLength(128)]
public string Name {get; set;}
}
Run Code Online (Sandbox Code Playgroud)
但是,当我使用超过 128 个字符的名称字符串创建 MyObject 时,我可以设置它并且它可以工作。这会导致问题,因为当我将此对象插入数据库时,由于字符串对于表中的该列太长,因此会出现异常。
我将如何确保太长的字符串被截断?我怎样才能检测到这种情况何时发生,以便我可以记录它?
我们如何向Groovy类的属性添加一些常见约束(即maxLength,nullable)?我知道我们可以在Grails域类中完成它,但是如果它是一个Groovy类(我将它用作我的Grails项目的DTO类)可能吗?
非常感谢!
我正在使用CKEditor,我找到/修改了一个计算字符的插件.
我有高级和基本用户.基本用户限制为1000个字符,溢价是无限制的,但基本可以写全文用于预览/测试等(它是客户规范,所以不能改变它).
当我在CKEditor中显示例如1500个1000个字符时,我想保存在DB 1500字符中但在文本输出中只显示其中的1000个字符.
但strlen和相关函数将HTML标记计为字符,我不希望这样.我也不想剥离它们,因为我会丢失格式.
有没有办法确保应用限制但是所有标签都将保留(在PHP中)?
谢谢...
我的问题很简单:如果我在HTML表单中有一些带有maxlength标签的输入字段,我还必须通过PHP检查输入长度吗?
有人知道为什么在JtextField中,当我设置setDocument()属性-class PlainDocument-当我执行程序时,它向我显示字段ok,但只有我可以输入N-1个字符,当我将maxlength prop设置为N字符长度.
// Block 1
txtPais.setDocument(new MaxLengthTextCntry());
Run Code Online (Sandbox Code Playgroud)
我有另一个内部设置最大长度的类
// Block 2
public class MaxLengthTextCntry extends MaxLengthGeneric{
public MaxLengthTextCntry(
{
super(2);
}
}
Run Code Online (Sandbox Code Playgroud)
最后是MaxLengthGeneric类
// Block 3
public abstract class MaxLengthGeneric extends PlainDocument {
private int maxChars;
public MaxLengthGeneric(int limit) {
super();
this.maxChars = limit;
}
public void insertString(int offs, String str, AttributeSet a)
throws BadLocationException {
if (str != null && (getLength() + str.length() < maxChars)) {
super.insertString(offs, str, a);
}
}
}
Run Code Online (Sandbox Code Playgroud)
解
维护块2,我用块1代替了块1
((AbstractDocument) txtRucnumero.getDocument()).setDocumentFilter(new …Run Code Online (Sandbox Code Playgroud)